题目链接 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const string YES = "YES\n",NO = "NO\n"; #define int long long const int N = 40010,mod = 1e9+7; int a[N],b[N]; void solve() { int n;cin>>n; int sum=0; for(int i=1;i<=n;i++)cin>>b[i],sum+=b[i]; b[0]=b[n]; if((sum*2)%(n*(n+1))){cout<<NO;return ;} sum=sum*2/(n*(n+1)); int t=0; for(int i=1;i<=n;i++) a[i]=(b[i-1]-b[i]+sum)/n,t+=a[i]; bool f=false; for(int i=1;i<=n;i++)if(a[i]<1||a[i]>1e9)f=true; if(f||t!=sum){cout<<NO;return ;} cout<<YES; for(int i=1;i<=n;i++)cout<<a[i]<<" "; cout<<'\n'; } signed main() { int T;cin>>T; while(T--)solve(); }