Submission #94172

#TimeUsernameProblemLanguageResultExecution timeMemory
94172KewoNizin (COCI16_nizin)C++14
100 / 100
74 ms10408 KiB
#include <bits/stdc++.h> #define pb push_back #define pf push_front #define ppb pop_back #define ppf pop_front #define fi first #define se second #define mid ((x + y) / 2) #define left (ind * 2) #define right (ind * 2 + 1) #define mp make_pair #define timer ((double)clock() / CLOCKS_PER_SEC) #define endl "\n" #define spc " " #define d1(x) cerr<<#x<<":"<<x<<endl #define d2(x, y) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<endl #define d3(x, y, z) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<" "<<#z<<":"<<z<<endl #define fast_io() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) using namespace std; typedef long long int lli; typedef pair<int, int> ii; typedef pair<ii, int> iii; typedef pair<double, double> dd; const int N = (int)(1e6 + 5); const int LOG = (int)(20); int n, ans, ar[N]; deque<int> dq; int main() { fast_io(); // freopen("inp.in", "r", stdin); cin >> n; for(int i = 1; i <= n; i++) { cin >> ar[i]; dq.pb(ar[i]); } while(!dq.empty()) { int b = dq.back(), f = dq.front(); if(dq.size() == 1) break; if(b == f) { dq.ppf(); dq.ppb(); continue; } if(f < b) { dq.ppf(); int t = dq.front(); dq.ppf(); dq.pf(t + f); ans++; continue; } if(f > b) { dq.ppb(); int t = dq.back(); dq.ppb(); dq.pb(t + b); ans++; continue; } } cout << ans; }
#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...