제출 #204972

#제출 시각아이디문제언어결과실행 시간메모리
204972dolphingarlicMoney (IZhO17_money)C++14
100 / 100
207 ms15096 KiB
#include <bits/stdc++.h> using namespace std; int n, a[1000005], bit[1000005]; void update(int pos) { for (; pos < 1000005; pos += (pos & (-pos))) bit[pos]++; } int query(int a) { int ans = 0; for (; a; a -= (a & (-a))) ans += bit[a]; return ans; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; int ans = 0; update(a[0]); for (int i = 0; i < n;) { int j = i++; ans++; while (i < n && query(a[i] - 1) <= query(a[j]) && a[i] >= a[i - 1]) i++; for (int k = j; k < i; k++) update(a[k]); } cout << ans; 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...