Submission #1257524

#TimeUsernameProblemLanguageResultExecution timeMemory
1257524medaaMoney (IZhO17_money)C++20
9 / 100
0 ms328 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define endl '\n' const int N = 1e6; int a[N]; void SOLVE() { int n; cin >> n; for(int i = 0; i < n; i++) cin >> a[i]; int counter = 0; multiset<pair<int, int>> ms; ms.insert({0, 1e7}); for(int i = 0; i < n;){ int mn = a[i], j = i; auto it = ms.lower_bound({mn, 1e7}); it--; pair<int, int> c = *it; while(j + 1 < n && a[j + 1] >= a[j] && a[j + 1] <= c.second){ j++; } ms.erase(ms.find(c)); ms.insert({c.first, a[i]}); for(int k = i; k < j; k++){ ms.insert({a[k], a[k + 1]}); } ms.insert({a[j], c.second}); counter++; i = j + 1; } cout << counter << endl; } signed main(){ ios_base::sync_with_stdio(false); cout.tie(nullptr); cin.tie(nullptr); //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); int o_o = 1; //cin >> o_o; while(o_o --) SOLVE(); 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...