Submission #1217392

#TimeUsernameProblemLanguageResultExecution timeMemory
1217392Younis_DwaiNizin (COCI16_nizin)C++20
100 / 100
51 ms8264 KiB
//#pragma GCC optimize("Ofast,O3,unroll-loops")
//#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#include<bits/stdc++.h>
#define int long long
#define F first
#define S second
#define pb push_back
#define popp pop_back
#define in insert
#define endl "\n"
//#define mid (l+r)/2
using namespace std;
const int N=1e6+6;
int n,b[N],ret=0;
void calc(int l , int r){
     if(l>=r) return ;
     else if(l+1==r){
          ret+=bool(b[l]!=b[r]);
          return ;
     }
     int sum1=b[l];
     int sum2=b[r];
     while(sum1!=sum2){
           if(sum1>sum2){
              if(r-1>l){
                 --r;
                 ++ret;
                 sum2+=b[r];
              }
              else{
                 ++ret;
                 return ;
              }
           }
           else{
              if(l+1<r){
                ++l;
                ++ret;
                sum1+=b[l];
              }
              else{
                  ++ret;
                  return ;
              }
           }
     }
     calc(l+1,r-1);
     return ;
}
int32_t main(){
    ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
    cin>>n;
    for(int i=1;i<=n;i++) cin>>b[i];
    calc(1,n);
    cout<<ret;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...