#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
int sm[ 100000 ] ;
class Solution{
public :
int waysToMakeFair( vector< int > & A) {
int i;
int N = A.size ( ) ;
int res = 0 ;
int tmp;
int Lj4PdHRW;
int KL2GvlyY;
if ( N== 0 ) {
KL2GvlyY = 0 ;
}
else {
KL2GvlyY = A[ 0 ] ;
for ( Lj4PdHRW= ( 1 ) ; Lj4PdHRW< ( N) ; Lj4PdHRW++ ) {
KL2GvlyY + = A[ Lj4PdHRW] ;
}
}
int tot = KL2GvlyY;
for ( i= ( 0 ) ; i< ( N) ; i++ ) {
if ( i>= 2 ) {
sm[ i] = A[ i] + sm[ i- 2 ] ;
}
else {
sm[ i] = A[ i] + 0 ;
}
}
for ( i= ( 0 ) ; i< ( N) ; i++ ) {
tmp = - sm[ i] ;
if ( i) {
tmp + = sm[ i- 1 ] ;
}
if ( ( N- 1 ) % 2 == i% 2 ) {
tmp + = sm[ N- 1 ] ;
}
else {
tmp + = sm[ N- 2 ] ;
}
if ( 2 * tmp == tot- A[ i] ) {
res++ ;
}
}
return res;
}
}
;
// cLay version 20201121-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// int sm[1d5];
// class Solution {
// public:
// int waysToMakeFair(vector<int>& A) {
// int N = A.size(), res = 0, tmp, tot = sum(A(N));
// rep(i,N) sm[i] = A[i] + if[i>=2, sm[i-2], 0];
// rep(i,N){
// tmp = -sm[i];
// if(i) tmp += sm[i-1];
// tmp += if[(N-1)%2==i%2, sm[N-1], sm[N-2]];
// if(2*tmp == tot-A[i]) res++;
// }
// return res;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgcmV0dXJuIDA7Cn0KI3VuZGVmIG1haW4KaW50IHNtWzEwMDAwMF07CmNsYXNzIFNvbHV0aW9uewogIHB1YmxpYzoKICBpbnQgd2F5c1RvTWFrZUZhaXIodmVjdG9yPGludD4mIEEpewogICAgaW50IGk7CiAgICBpbnQgTiA9IEEuc2l6ZSgpOwogICAgaW50IHJlcyA9IDA7CiAgICBpbnQgdG1wOwogICAgaW50IExqNFBkSFJXOwogICAgaW50IEtMMkd2bHlZOwogICAgaWYoTj09MCl7CiAgICAgIEtMMkd2bHlZID0gMDsKICAgIH0KICAgIGVsc2V7CiAgICAgIEtMMkd2bHlZID0gQVswXTsKICAgICAgZm9yKExqNFBkSFJXPSgxKTtMajRQZEhSVzwoTik7TGo0UGRIUlcrKyl7CiAgICAgICAgS0wyR3ZseVkgKz0gQVtMajRQZEhSV107CiAgICAgIH0KICAgIH0KICAgIGludCB0b3QgPSBLTDJHdmx5WTsKICAgIGZvcihpPSgwKTtpPChOKTtpKyspewogICAgICBpZihpPj0yKXsKICAgICAgICBzbVtpXSA9IEFbaV0gK3NtW2ktMl07CiAgICAgIH0KICAgICAgZWxzZXsKICAgICAgICBzbVtpXSA9IEFbaV0gKzA7CiAgICAgIH0KICAgIH0KICAgIGZvcihpPSgwKTtpPChOKTtpKyspewogICAgICB0bXAgPSAtc21baV07CiAgICAgIGlmKGkpewogICAgICAgIHRtcCArPSBzbVtpLTFdOwogICAgICB9CiAgICAgIGlmKChOLTEpJTI9PWklMil7CiAgICAgICAgdG1wICs9c21bTi0xXTsKICAgICAgfQogICAgICBlbHNlewogICAgICAgIHRtcCArPXNtW04tMl07CiAgICAgIH0KICAgICAgaWYoMip0bXAgPT0gdG90LUFbaV0pewogICAgICAgIHJlcysrOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gcmVzOwogIH0KfQo7Ci8vIGNMYXkgdmVyc2lvbiAyMDIwMTEyMS0xCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gI2RlZmluZSBtYWluIGR1bW15X21haW4KLy8ge30KLy8gI3VuZGVmIG1haW4KLy8gCi8vIGludCBzbVsxZDVdOwovLyBjbGFzcyBTb2x1dGlvbiB7Ci8vIHB1YmxpYzoKLy8gICBpbnQgd2F5c1RvTWFrZUZhaXIodmVjdG9yPGludD4mIEEpIHsKLy8gICAgIGludCBOID0gQS5zaXplKCksIHJlcyA9IDAsIHRtcCwgdG90ID0gc3VtKEEoTikpOwovLyAgICAgcmVwKGksTikgc21baV0gPSBBW2ldICsgaWZbaT49Miwgc21baS0yXSwgMF07Ci8vICAgICByZXAoaSxOKXsKLy8gICAgICAgdG1wID0gLXNtW2ldOwovLyAgICAgICBpZihpKSB0bXAgKz0gc21baS0xXTsKLy8gICAgICAgdG1wICs9IGlmWyhOLTEpJTI9PWklMiwgc21bTi0xXSwgc21bTi0yXV07Ci8vICAgICAgIGlmKDIqdG1wID09IHRvdC1BW2ldKSByZXMrKzsKLy8gICAgIH0KLy8gICAgIHJldHVybiByZXM7Ci8vICAgfQovLyB9Owo=