蒟蒻代码球hack
查看原帖
蒟蒻代码球hack
500031
FJ_OIer楼主2024/8/18 08:46
#include <bits/stdc++.h>
using namespace std;
int t,n,p[1000005],mx[1000005],mi[1000005];
int main(){
	for (scanf("%d",&t);t;t--){
		scanf("%d",&n);
		for (int i=1;i<=n;i++){
			scanf("%d",&p[i]);
			mx[i]=0;
			mi[i]=0x3f3f3f3f;
		}
		mx[n]=mi[n]=p[n];
		for (int i=n-1;i;i--){
			mx[i]=max(mx[i+1],p[i]);
			mi[i]=min(mi[i+1],p[i]);
		}
		int ma=0,mn=0x3f3f3f3f,cnt=0;
		for (int i=1;i<n;i++){
			ma=max(ma,p[i]);
			mn=min(mn,p[i]);
			if ((i==1||(ma-mn)%(i-1)==0)&&(n-i==1||(mx[i+1]-mi[i+1])%(n-i-1)==0)){//这个性质似乎有误?
				cnt++;
			}
		}
		cout<<cnt<<endl;
	}
	return 0;
}
2024/8/18 08:46
加载中...