Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. #include<stdio.h>
  2. FILE*f=fopen("auto.in","r");
  3. FILE*g=fopen("auto.out","w");
  4. #define Nmax 9003
  5. int a[Nmax],n;
  6. int ok(int k)
  7. {
  8. int i;
  9. int sum[Nmax],s,p=1;
  10. int b[Nmax];
  11. sum[1] = s = a[1];
  12. b[1] = a[1];
  13. int nr=1;
  14. for(i=2;i<=n;++i)
  15. {
  16. if(nr == k) { s-=sum[p++]; --nr; }
  17. sum[i] = a[i] - s;
  18. ++nr;
  19. s += sum[i];
  20. if(sum[i] < 0) return 0;
  21. }
  22. if(k>1 && sum[n]) return 0;
  23. return 1;
  24. }
  25. void solve()
  26. {
  27. fscanf(f,"%d",&n);
  28. int i;
  29. int s=0;
  30. for(i=1;i<=n;++i)
  31. {
  32. fscanf(f,"%d",&a[i]);
  33. s+=a[i];
  34. }
  35. for(i=1;i<=s/2 && i<=n;++i) if(s%i==0) if(ok(i)) fprintf(g,"%d ",i);
  36. if(s && s<=n && ok(s)) fprintf(g,"%d",s);
  37. fprintf(g,"\n");
  38. }
  39. int main()
  40. {
  41. int t;
  42. fscanf(f,"%d",&t);
  43. while(t--)
  44. {
  45. solve();
  46. }
  47. return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement