题意就是给你一组数组 让你改变一段 能不能变成递增的数组
想了好久怎么用模拟 但是看了别人的reverse()函数的使用 第一次知道还可以这样使用
#include "bits/stdc++.h"
using namespace std;
const int N = 1e5+5;
int s[N],n;
int main()
{
cin >> n;
int l=1,r=1;
for(int i=1;i<=n;i++){
cin >> s[i];
}
for(int i=1;i<n;i++){
if(s[i] > s[i+1]){
l=i;
break;
}
}
for(int i=n;i>=2;i--){
if(s[i]<s[i-1]){
r=i;
break;
}
}
reverse(s+l,s+r+1);
int f=0;
for(int i=1;i<n;i++){
if(s[i]>s[i+1]){
f=1;
break;
}
}
if(f) cout << "no" << endl;
else cout << "yes" << endl << l << " " << r << endl;
return 0;
}