#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = 100005;
int a[MAXN], n, spos, epos;
bool flag;
int main()
{
while (cin >> n) {
spos = 0; epos = 0;
flag = true;
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
for (int i = 0; i < n - 1; ++i) {
if (a[i] > a[i + 1]) {
spos = i;
break;
}
}
for (int i = n - 1; i > 0; --i) {
if (a[i] < a[i - 1]) {
epos = i;
break;
}
}
reverse(a + spos, a + epos + 1);
for (int i = 0; i < n - 1; ++i) {
if (a[i] > a[i + 1]) {
flag = false;
break;
}
}
if (!flag) {
cout << "no" << endl;
}
else {
cout << "yes" << endl;
cout << spos + 1 << " " << epos + 1 << endl;
}
}
return 0;
}
Codeforces Round #258 (Div. 2) 2B Sort the Array
最新推荐文章于 2023-05-22 16:53:23 发布