Submission #377057

#TimeUsernameProblemLanguageResultExecution timeMemory
377057ijxjdjdMoney (IZhO17_money)C++14
9 / 100
1 ms384 KiB
#include <bits/stdc++.h> #define FR(i, N) for (int i = 0; i < int(N); i++) #define all(x) begin(x), end(x) using namespace std; using ll = long long; int main() { cin.tie(0); cin.sync_with_stdio(0); int N; map<int, int> left; cin >> N; vector<int> arr(N); FR(i, N) { cin >> arr[i]; left[arr[i]]++; } int lst = arr[N-1]; int ans = 1; bool ori = true; for (int i = N-2; i >= 0; i--) { left[arr[i+1]]--; if (left[arr[i+1]] == 0) { left.erase(arr[i+1]); } if (lst == arr[i]) { } else { auto it = left.lower_bound(lst); if (it != left.begin() && (*prev(it)).first == arr[i]) { if (left.count(lst)) { if (ori) { ori = false; } else { ans++; ori = true; } } } else { ans++; ori = true; } } lst = arr[i]; } cout << ans << '\n'; 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...