#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define mp make_pair typedef long long ll; int main() { ios_base::sync_with_stdio(false), cin.tie(NULL); int n; cin>>n; int ucb[n+1]; ucb[0]=0; int sum_pref[n+1]; sum_pref[0]=0; for(int i=1;i<=n;i++) { cin>>ucb[i]; sum_pref[i]=sum_pref[i-1]+ucb[i]; } vector<int> bucb; for(int i=1;i<=n;i++) { for(int j=i;j<=n;j++) { bucb.pb(sum_pref[j]-sum_pref[i-1]); } } int cnt=0; int d=(n+1)*n/2; for(int i=0;i<=d-3;i++) { for(int j=i+1;j<=d-2;j++) { for(int k=j+1;k<=d-1;k++) { if(bucb[i]+bucb[j]+bucb[k]==0) cnt++; } } } cout<<cnt<<'\n'; 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 39 40 41 42 | #include <bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define mp make_pair typedef long long ll; int main() { ios_base::sync_with_stdio(false), cin.tie(NULL); int n; cin>>n; int ucb[n+1]; ucb[0]=0; int sum_pref[n+1]; sum_pref[0]=0; for(int i=1;i<=n;i++) { cin>>ucb[i]; sum_pref[i]=sum_pref[i-1]+ucb[i]; } vector<int> bucb; for(int i=1;i<=n;i++) { for(int j=i;j<=n;j++) { bucb.pb(sum_pref[j]-sum_pref[i-1]); } } int cnt=0; int d=(n+1)*n/2; for(int i=0;i<=d-3;i++) { for(int j=i+1;j<=d-2;j++) { for(int k=j+1;k<=d-1;k++) { if(bucb[i]+bucb[j]+bucb[k]==0) cnt++; } } } cout<<cnt<<'\n'; return 0; } |