Submission #204951

#TimeUsernameProblemLanguageResultExecution timeMemory
204951dolphingarlicMoney (IZhO17_money)C++14
0 / 100
5 ms380 KiB
#include <bits/stdc++.h> #define FOR(i, x, y) for (int i = x; i < y; i++) typedef long long ll; using namespace std; int n, a[1000001], bit[1000001]; void update(int pos) { for (; pos <= n; pos += (pos & (-pos))) bit[pos]++; } int query(int a, int b) { int ans = 0; for (; b; b -= (b & (-b))) ans += bit[b]; for (; a; a -= (a & (-a))) ans -= bit[a]; return ans; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; FOR(i, 0, n) cin >> a[i]; int ans = 1; FOR(i, 1, n) { if (a[i] < a[i - 1] || query(a[i - 1], a[i])) ans++; update(a[i]); } 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...