Submission #531764

#TimeUsernameProblemLanguageResultExecution timeMemory
531764andecaandeciMoney (IZhO17_money)C++17
100 / 100
922 ms51192 KiB
#include <bits/stdc++.h> using namespace std; int main(){ cin.tie(0) -> ios_base::sync_with_stdio(0); int n; cin >> n; vector<int> a(n); for(int i=0;i<n;i++) cin >> a[i]; set<int> s; int ans = 1, i = 0; while(i < n) { s.insert(a[i]); i++; if(a[i] < a[i - 1]) break; } for(;i<n;) { auto x = s.upper_bound(a[i]); ans++; int y; if(x == s.end()) { // cout << "1 = " << i << '\n'; y = a[i]; while(i < n) { s.insert(a[i]); i++; if(a[i] < a[i - 1]) break; } } else if(a[i] <= *x) { // cout << "2 = " << i << " " << *x << "\n"; y = *x; while(i < n && a[i] <= y) { // cout << i << " " << a[i] << '\n'; s.insert(a[i]); i++; if(a[i] < a[i-1]) break; } } else // a[i] > the el after prev element { // cout << "3 = " << i << '\n'; s.insert(a[i]); } } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...