Submission #641321

#TimeUsernameProblemLanguageResultExecution timeMemory
641321tvladm2009Money (IZhO17_money)C++14
100 / 100
1014 ms58052 KiB
#include <bits/stdc++.h> using ll = long long; const int MAX_N = 1e6; const ll INF = (1LL << 60); int a[1 + MAX_N]; std::set<ll> s; int main() { std::ios_base::sync_with_stdio(0); std::cin.tie(0); int n; std::cin >> n; for (int i = 1; i <= n; i++) { std::cin >> a[i]; } ll answer = 0, next = INF; s.insert(INF); for (int i = 1; i <= n; i++) { if (i > 1 && a[i] == a[i - 1]) { continue; } if (i == 1 || a[i - 1] > a[i] || (*s.lower_bound(a[i])) != next) { answer++; next = *s.upper_bound(a[i]); } s.insert(a[i]); } std::cout << answer; 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...