不到是思路问题还是代码问题
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
typedef long long ll;
ll t,n,a[N],s;
int main(){
cin>>t;
while(t--){
cin>>n;
s=0;
bool f=0;
for(ll i=1;i<=n;i++)
cin>>a[i],s+=a[i];
ll k=n-(s-s/n*n),d=0;
for(ll i=1;i<=n;i++){
if(a[i]-s/n-(i>=k)>d){
puts("No");
f=1;
break;
}
if(i<=k){
if(a[i]<=s/n) d+=s/n-a[i];
else d-=a[i]-s/n;
}
else{
if(a[i]<=s/n+1) d+=s/n+1-a[i];
else d-=a[i]-s/n-1;
}
}
if(!f) puts("Yes");
}
return 0;
}