前言
传送门 :
思路
虽然知道是暴力,但是还是不够优雅
显然答案区间就是最大的不同 和 最小的不同
然后枚举一下即可
Mycode
const int N = 1e3+10;
int n;
int a[N];
void solve()
{
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int l = 0x3f3f3f3f , r = 0 ;
for(int i=1;i<=n;i++){
if(a[i]^i){
l = min(l,i);
r = max(r,i);
}
}
if(!l || !r){
cout<<0<<" "<<0<<endl;
return;
}
for(int i = l ;i<=r;i++){
if(a[r+l-i]^i){
cout<<0<<" "<<0<<endl;
return;
}
}
cout<<l<<" "<<r<<endl;
}