赛时代码,依托答辩,谨慎服用
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int a[N];
int n;
bool check(int l,int r){
for(int i = 1;i<l;i++)if(i!=a[i])return false;
for(int i = r+1;i<=n;i++)if(i!=a[i])return false;
for(int i = l;i<=r;i++)if(i!=a[r-i+l])return false;
return true;
}
int main(){
memset(a,0x3f,sizeof a);
cin>>n;
for(int i = 1;i<=n;i++)cin>>a[i];
int i = 1,j = 1;
while(i<=n){
j = i+1;
if(a[j]!=a[i]-1){i = j;continue;}
while(a[j+1] == a[j]-1)j++;
if(check(i,j))return printf("%d %d",i,j),0;
i = j;
}
puts("0 0");
return 0;
}