Submission #344798

#TimeUsernameProblemLanguageResultExecution timeMemory
344798SeDunionMoney (IZhO17_money)C++17
100 / 100
1297 ms51396 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; const int N = 1e6 + 66; int a[N], ans; int main() { ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0); int n; cin >> n; set<int>S = {N}; for (int i = 1 ; i <= n ; ++ i) cin >> a[i]; //{ //map<int,int> mp; for (int i = 1 ; i <= n ; ++ i) { //assert(mp[a[i]]++ == 0); //} //} for (int i = 1 ; i <= n ; ++ i) { int j = i + 1; while (j <= n && a[j] >= a[j - 1] && (a[j] == a[i] || S.lower_bound(a[j]) == S.upper_bound(a[i]))) ++j; j--; for (int l = i ; l <= j ; ++ l) { S.insert(a[l]); } ans++; //cout << i << " " << j << "\n"; i = j; } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...