# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
510297 | Toqa44 | Nizin (COCI16_nizin) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define endl "\n"
using namespace std ;
typedef long long ll;
typedef long double ld ;
ll n,a[1000005],sum1,sum2,ans,z;
map<ll,ll>mp;
vector<ll>v;
bool f;
set<ll>ss;
int main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>n;
for(int g=0;g<n;g++)
cin>>a[g];
ll i=0; ll j=n-1;z=n;
for(int c=0;c<=n/2;c++){
if(a[c]==a[(n-c)-1])
f=0;
else{
f=1;
break;}}
if(f==0){
cout<<0<<endl;
return 0;}
sum1=a[0];
sum2=a[n-1];
while(j-i>1)
{
if(sum1==sum2)
{
j--;
i++;
sum1=a[i];
sum2=a[j];
}
else if(sum1>sum2)
{
sum2+=a[j-1];
j--;
ans++;
z--;
}
else{
sum1+=a[i+1];
ans++;
z--;
i++;}
}
if(z%2==0)
cout<<ans;
else{
if(ans==0)
cout<<0;
else
cout<<ans-1;}
return 0 ;
}