fork download
  1. #include <stdio.h>
  2.  
  3. //f(int*x,int n){int t=0;for(int i=0;i<n;i++)t+=x[i];for(int k=1;k<n;k++)for(int i=0,s;i<n;i++){s=0;for(int j=i;j<i+k;j++)s+=x[j%n];if(2*s==t) return 1;}return 0;}
  4.  
  5. int f(int*x,int n)
  6. {
  7. int t=0;
  8.  
  9. for(int i=0;i<n;i++)
  10. {
  11. t += x[i];
  12. }
  13.  
  14. for(int k=1;k<n;k++) // subset-size
  15. {
  16. for(int i=0,s;i<n;i++) // where to start
  17. {
  18. s=0;
  19.  
  20. for(int j=i;j<i+k;j++) // sum the subset
  21. {
  22. s+=x[j%n];
  23. }
  24.  
  25. if(2*s==t) return 1;
  26. }
  27. }
  28.  
  29. return 0;
  30. }
  31.  
  32. int main(void)
  33. {
  34. int test[] = { 6, 6, 12, 12, 12, 11, 1, 12 };
  35. printf("%d", f(test, sizeof(test)/sizeof(test[0])));
  36. return 0;
  37. }
  38.  
Success #stdin #stdout 0s 2160KB
stdin
Standard input is empty
stdout
1