记录奇数和和偶数和。
然后搞一下就可以了
1 #include <iostream> 2 #include <cstring> 3 #include <string> 4 #include <map> 5 #include <set> 6 #include <algorithm> 7 #include <fstream> 8 #include <cstdio> 9 #include <cmath> 10 #include <stack> 11 #include <queue> 12 using namespace std; 13 const double Pi=3.14159265358979323846; 14 typedef long long ll; 15 const int MAXN=300000+5; 16 const int dx[5]={0,0,0,1,-1}; 17 const int dy[5]={1,-1,0,0,0}; 18 const int INF = 0x3f3f3f3f; 19 const int NINF = 0xc0c0c0c0; 20 const ll mod=1e9+7; 21 int a[MAXN]; 22 ll even[MAXN]; 23 ll odd[MAXN]; 24 int main() 25 { 26 int n;cin>>n; 27 for(int i=1;i<=n;i++) 28 { 29 scanf("%d",&a[i]); 30 if(i%2) 31 { 32 odd[i]=odd[i-1]+a[i]; 33 even[i]=even[i-1]; 34 } 35 else 36 { 37 even[i]=even[i-1]+a[i]; 38 odd[i]=odd[i-1]; 39 } 40 } 41 int ans=0; 42 for(int i=1;i<=n;i++) 43 { 44 ll qi,o; 45 qi=odd[i-1]+even[n]-even[i]; 46 o=even[i-1]+odd[n]-odd[i]; 47 if(qi==o) 48 { 49 ans++; 50 } 51 } 52 cout <<ans<<endl; 53 54 return 0; 55 }