CodeFoeces-451B

题目

原题链接:B. Sort the Array

题意

反转数组内的数字,使其成为一个递增序列。最开始想找到第一个小于前一个和大于后一个的而数字,交换它俩即可,由于是用一个for循环找的不准,所以参考其他作者的代码,用了两个for循环+reverse函数,顺利通过。

代码

#include
using namespace std;
int main() {
    int n,s[100010];
    scanf("%d",&n);
    for(int i=1; i<=n; i++) {
        scanf("%d",&s[i]);
    }
    int x=1,y=1;
    for(int i=1; is[i+1]) {
            x=i;
            break;
        }
    }
    for(int i=n; i>1; i--) {
        if(s[i]s[i+1]) {
            flag=1;
            break;
        }
    }
    if(flag) printf("no\n");
    else printf("yes\n%d %d\n",x,y);
    return 0;
}

你可能感兴趣的:(CodeFoeces-451B)