fork download
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int main() {
  6. // your code goes here
  7. int n;
  8. cin>>n;
  9. vector<int> arr(n);
  10. int tot=0;
  11. for(int i=0;i<n;i++){
  12. cin>>arr[i];
  13. tot=tot+arr[i];
  14. }
  15.  
  16. vector<int> prefix(n);
  17. vector<int> suffix(n);
  18. int cnt=0;int s=0;
  19.  
  20.  
  21. for(int i=0;i<n;i++){
  22. s = s + arr[i];
  23. if(s==tot/4){
  24. cnt++;
  25. }
  26. prefix[i]=cnt;
  27. }
  28. cnt=0;
  29. s=0;
  30.  
  31. for(int i=n-1;i>=0;i--){
  32. s = s + arr[i];
  33. if(s==tot/4){
  34. cnt++;
  35. }
  36. suffix[i]=cnt;
  37. }
  38. int ans=0;
  39.  
  40. if(tot%4!=0){
  41. cout<<"Not possible";
  42. }
  43. else{
  44. int sum=0;
  45.  
  46. for(int i=0;i<n;i++){
  47. sum=sum+arr[i];
  48. if(sum==tot/2){
  49. ans=ans+prefix[i]*suffix[i+1];
  50.  
  51.  
  52. }
  53. }
  54. cout<<ans<<endl;
  55.  
  56. }
  57.  
  58.  
  59.  
  60. return 0;
  61. }
Success #stdin #stdout 0.01s 5296KB
stdin
8
1 2 0 3 3 0 2 1
stdout
4