Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- FILE*f=fopen("auto.in","r");
- FILE*g=fopen("auto.out","w");
- #define Nmax 9003
- int a[Nmax],n;
- int ok(int k)
- {
- int i;
- int sum[Nmax],s,p=1;
- int b[Nmax];
- sum[1] = s = a[1];
- b[1] = a[1];
- int nr=1;
- for(i=2;i<=n;++i)
- {
- if(nr == k) { s-=sum[p++]; --nr; }
- sum[i] = a[i] - s;
- ++nr;
- s += sum[i];
- if(sum[i] < 0) return 0;
- }
- if(k>1 && sum[n]) return 0;
- return 1;
- }
- void solve()
- {
- fscanf(f,"%d",&n);
- int i;
- int s=0;
- for(i=1;i<=n;++i)
- {
- fscanf(f,"%d",&a[i]);
- s+=a[i];
- }
- for(i=1;i<=s/2 && i<=n;++i) if(s%i==0) if(ok(i)) fprintf(g,"%d ",i);
- if(s && s<=n && ok(s)) fprintf(g,"%d",s);
- fprintf(g,"\n");
- }
- int main()
- {
- int t;
- fscanf(f,"%d",&t);
- while(t--)
- {
- solve();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement