Submission #88178

#TimeUsernameProblemLanguageResultExecution timeMemory
88178turbatMoney (IZhO17_money)C++14
100 / 100
493 ms17080 KiB
#include<bits/stdc++.h> using namespace std; int n, a[1000005], ans, fen[1000005], b; void upd(int x){ while (x <= 1e6){ fen[x]++; x += x & -x; } } int get(int x){ int s = 0; while (x){ s += fen[x]; x -= x & -x; } return s; } int main(){ cin >> n; for(int i = 0;i < n;i++) cin >> a[i]; for (int i = 0;i < n;i++){ b = i; ans++; while (i + 1 < n && a[i] <= a[i + 1] && (get(a[i + 1] - 1) - get(a[b])) <= 0) i++; for (int j = b;j <= i;j++) upd(a[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...