你被骗了喵
代码测试样例没有输出,代码:
#include<bits/stdc++.h>
using namespace std;
struct node{
int num,deg;
}a[100010];
int cmp(node a,node b){
return a.deg<b.deg;
}
int n,maxx;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].deg;
a[i].num=i;
}
sort(a+1,a+1+n,cmp);
for(int i=0;i<=2;i++){
for(int j=0;j<=2-i;j++){
int cnt=0,i1=i,j1=j;
for(i1=0;i1<i;i++){
if((a[1+i1].num>a[n-j].num&&a[1+i1].num<a[1+i].num)||(a[1+i1].num<a[n-j].num&&a[1+i1].num>a[1+i].num))
cnt++;
}
for(j1=0;j1<j;j1++){
if((a[n-j1].num>a[n-j].num&&a[n-j1].num<a[1+i].num)||(a[n-j1].num<a[n-j].num&&a[n-j1].num>a[1+i].num))
cnt++;
}
if(abs(a[n-j].num-a[1+i].num)-cnt>maxx)
maxx=abs(a[n-j].num-a[1+i].num-cnt);
}
}
cout<<maxx;
return 0;
}