Submission #710103

#TimeUsernameProblemLanguageResultExecution timeMemory
710103WH8Money (IZhO17_money)C++14
0 / 100
2 ms212 KiB
#include <bits/stdc++.h> using namespace std; #define iloop(x, n) for (long long i = x; i < n; ++i) #define jloop(x, n) for (long long j = x; j < n; ++j) #define kloop(x, n) for (long long k = x; k < n; ++k) #define dloop(x, n) for (long long d = x; d >= n; --d) #define ll long long #define pll pair<long long, long long> #define pii pair<int, int> #define vi vector<long long> #define mp make_pair #define pb push_back #define f first #define s second #define int long long #define endl '\n' #define debug(x) cout << #x << ": " << x << endl #define FASTIO \ ios::sync_with_stdio(false); \ cin.tie(0); \ cout.tie(0); signed main(){ int n; cin >> n; vi v(n); iloop(0, n) cin >> v[i]; set<int> s; int i = 0; int cnt = 0; while (i < n){ int j = i; //debug(i); vi c; c.pb(v[i]); while (j + 1 < n and v[j+1] >= v[j]){ j++; c.pb(v[j]); } //debug(j); int first = c[0]; auto it = s.upper_bound(first); int ptr = 0; int sz = (int)c.size(); if (ptr + 1 == sz) cnt++; else while (ptr + 1 < sz){ while (ptr + 1 < sz and (c[ptr+1] <= *it or it == s.end())){ ptr++; } //debug(ptr); if (it != s.end())it++; cnt++; } for (auto it : c) s.insert(it); i = j + 1; } cout << cnt; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...