# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
510297 | Toqa44 | Nizin (COCI16_nizin) | C++17 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 ;
}