#include <bits/stdc++.h>
using namespace std;
long long choose(long long n,long long k){
for(long long i=1;i<k;i++){
n*=n-i;
}
while(k){
n/=k--;
}
return n>0?n:0;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin>>n;
vector<long long> a(n);
cin>>a[0];
for(int i=1;i<n;i++){
cin>>a[i];
a[i]+=a[i-1];
}
long long sum=a[n-1],sum_1=a[n-1]/3,sum_2=(2*a[n-1])/3;
if(sum_1+sum_2!=sum)cout<<0;
else if(sum==0){
int z=0;
for(int i=1;i<n-1;i++)
if(a[i]==0)z++;
long long ans=choose(z,2);
if(a[0]==0)ans+=z;
cout<<ans;
}
else{
int total_2=0,tmp_2=0;
long long ans=0;
for(int i=0;i<n;i++){
if(a[i]==sum_2)total_2++;
}
for(int i=0;i<n;i++){
if(a[i]==sum_1)ans+=total_2 - tmp_2;
else if(a[i]==sum_2)tmp_2++;
}
cout<<ans;
}
return 0;
}
Comments
Post a Comment