Submission #738834

#TimeUsernameProblemLanguageResultExecution timeMemory
738834mzvNizin (COCI16_nizin)C++17
100 / 100
67 ms10164 KiB
#include <bits/stdc++.h> #define ccd ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define ll long long #define endl '\n' using namespace std; /* ------------------------ hi lol ------------------------ */ ll n,arr[1'000'001],le,ri,ans=0; int main() { ccd cin >> n; for (int i=1;i<=n;i++) { cin >> arr[i]; } le=1,ri=n; while (le<ri) { // cout << le << " " << ri << " " << arr[le] << " " << arr[ri] << endl; if (arr[le]==arr[ri]) { le++; ri--; continue; } else if ((arr[le]+arr[le+1])==arr[ri]) { arr[le+1]+=arr[le]; ans++; le+=2; ri--; } else if ((arr[ri]+arr[ri-1])==arr[le]) { arr[ri-1]+=arr[ri]; ans++; le++; ri-=2; } else { if ((arr[ri]+arr[ri-1])<=arr[le]) { arr[ri-1]+=arr[ri]; ri--; ans++; } else if ((arr[le]+arr[le+1])<=arr[ri]){ arr[le+1]+=arr[le]; le++; ans++; } else { if ((arr[ri]+arr[ri-1])<arr[le]+arr[le+1]) { arr[ri-1]+=arr[ri]; ri--; ans++; } else { arr[le+1]+=arr[le]; le++; ans++; } } } } cout << ans << endl; }
#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...