事先声明:我是蒟蒻,我是蒟蒻,我是蒟蒻
可能会出现各种神经行为,请见谅qwq
具体思路:枚举i,k j=(i+k)/2 只要 i>j<k即为一种梯度美
时间复杂度为O(T*n *n)超时
so :因为2j=ik 和为偶数,,所以j和k具有相同的奇偶性,枚举时将偶数和奇数分开枚举,计算次数直接少一半
代码:
#include<bits/stdc++.h>
using namespace std;
int j[100001],o[100001],t,n,maxi,maxt=-1,l,r,lj,a;
int main(){
// freopen("tree.in","r",stdin);
// freopen("tree.out","w",stdout);
cin>>t>>n;
for(int f=1;f<=t;f++){
r=0;l=0;lj=0;
for(int i=1;i<=n;i++){
cin>>a;
if(a%2==0)
o[++r]=a;
else
j[++l]=a;
}
for(int i=1;i<=r;i++)
for(int k=1;k<=r;k++){
int j=(i+k)/2;
if(i==k||j==i||j==k){
continue;
}
if(i>j&&j<k)lj++;
}
for(int i=1;i<=l;i++)
for(int k=1;k<=l;k++){
int j=(i+k)/2;
if(i==k||j==i||j==k){
continue;
}
if(i>j&&j<k)lj++;
}
if(lj>maxt){
maxt=lj;
maxi=f;
}
}
cout<<maxi<<" "<<maxt;
return 0;
}
qwq