#include <cstdio> #include <vector> #define DEBUG false using namespace std; int ciag[5005],n,suma; vector<int> buc; //:0 :) umcyk umcyk buc buc buc int main(){ scanf(" %d",&n); for(int i=0; i<n; i++){ scanf(" %d",&ciag[i]); } for(int i=0; i<n; i++){ int suma = ciag[i]; buc.push_back( suma ); for(int j=i+1; j<n; j++){ suma += ciag[j]; buc.push_back( suma ); } } int bucSize = buc.size(); if(DEBUG)for(int i=0; i<bucSize; i++){ printf("%d ",buc[i]); } suma = 0; for(int i=0; i<bucSize; i++) for(int j=i+1; j<bucSize; j++) for(int k=j+1; k<bucSize; k++){ if(buc[i]+buc[j]+buc[k] == 0) suma++; } printf("%d\n",suma); return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include <cstdio> #include <vector> #define DEBUG false using namespace std; int ciag[5005],n,suma; vector<int> buc; //:0 :) umcyk umcyk buc buc buc int main(){ scanf(" %d",&n); for(int i=0; i<n; i++){ scanf(" %d",&ciag[i]); } for(int i=0; i<n; i++){ int suma = ciag[i]; buc.push_back( suma ); for(int j=i+1; j<n; j++){ suma += ciag[j]; buc.push_back( suma ); } } int bucSize = buc.size(); if(DEBUG)for(int i=0; i<bucSize; i++){ printf("%d ",buc[i]); } suma = 0; for(int i=0; i<bucSize; i++) for(int j=i+1; j<bucSize; j++) for(int k=j+1; k<bucSize; k++){ if(buc[i]+buc[j]+buc[k] == 0) suma++; } printf("%d\n",suma); return 0; } |