#include <iostream> using namespace std; int main() { int nnn; cin>> nnn; int const nn = nnn; int ucb[nn]; //przygotowanie ulubionego ciagu for(int i=0; i<nnn; i++) { cin >> ucb[i]; } int const n = (nn*(nn+1))/2; int buc[n]; int pnb = 0, sum; // tworzenie bardzo ulubionego ciagu; pnb - pozycja na bucu, sum - suma przedzialu spojnego for(int i=0; i<nn; i++) { sum=0; for(int j=i; j<nn; j++) { sum = sum+ucb[j]; buc[pnb]=sum; pnb++; } } //skonczenie tworzenia buca int it=0; sum = 0; //sum - suma el do 0, it - ile trojel for(int k=0; k<n-2; k++) { for(int i=k+1; i<n-1;i++) { sum = buc[k] + buc[i]; for(int j=i+1; j<n; j++) { if(sum+buc[j]==0) it++; } } } cout << it; 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 35 36 37 38 | #include <iostream> using namespace std; int main() { int nnn; cin>> nnn; int const nn = nnn; int ucb[nn]; //przygotowanie ulubionego ciagu for(int i=0; i<nnn; i++) { cin >> ucb[i]; } int const n = (nn*(nn+1))/2; int buc[n]; int pnb = 0, sum; // tworzenie bardzo ulubionego ciagu; pnb - pozycja na bucu, sum - suma przedzialu spojnego for(int i=0; i<nn; i++) { sum=0; for(int j=i; j<nn; j++) { sum = sum+ucb[j]; buc[pnb]=sum; pnb++; } } //skonczenie tworzenia buca int it=0; sum = 0; //sum - suma el do 0, it - ile trojel for(int k=0; k<n-2; k++) { for(int i=k+1; i<n-1;i++) { sum = buc[k] + buc[i]; for(int j=i+1; j<n; j++) { if(sum+buc[j]==0) it++; } } } cout << it; return 0; } |