fork download
  1. #include<bits/stdc++.h>
  2. #define ll long long
  3. using namespace std;
  4. int main()
  5. {
  6. vector<int>num;
  7. ll int n,s=0,p,d=0,c=1,l=0,b=0,z=0;
  8. cin>>n;
  9. ll int a[n],j;
  10. for(int i=1; i<=n; i++)
  11. {
  12. cin>>a[i];
  13. }
  14. for(int i=1; i<=n; i++)
  15. {
  16. b=b+a[i];
  17. }
  18. ll int m=0,o=0;
  19. if(b!=0)
  20. {
  21. cout<<"-1"<<endl;
  22. }
  23. else if(b==0)
  24. {
  25. for(int i=1; i<=n; i++)
  26. {
  27. s=s+a[i];
  28. if(s==0)
  29. {
  30. z++;
  31. p=i;
  32. for(j = c; j <=i; j++)
  33. {
  34. for(int k = j + 1; k <=i; k++)
  35. {
  36. if(a[k] == a[j])
  37. {
  38. o++;
  39. break;
  40. }
  41. }
  42. }
  43. c=i+1;
  44. if(o!=0)
  45. {
  46. break;
  47. }
  48. }
  49. }
  50. if(o!=0)
  51. {
  52. cout<<-1<<endl;
  53. }
  54. if(o==0)
  55. {
  56. cout<<z<<endl;
  57. for(int i=1; i<=n; i++)
  58. {
  59. s=s+a[i];
  60. if(s==0 && (i-l)>0)
  61. {
  62. cout<<i-l<<" ";
  63. //num.push_back(i-l);
  64. l=i;
  65. }
  66. }
  67. }
  68. }
  69. }
Runtime error #stdin #stdout 0s 4528KB
stdin
Standard input is empty
stdout
Standard output is empty