# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
510297 | 2022-01-14T23:14:36 Z | Toqa44 | Nizin (COCI16_nizin) | C++17 | 0 ms | 0 KB |
#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 ; }