제출 #52395

#제출 시각아이디문제언어결과실행 시간메모리
52395MatheusLealVMoney (IZhO17_money)C++17
0 / 100
1552 ms600 KiB
#include <bits/stdc++.h> #define N 1000050 using namespace std; int bit[N], v[N], n, ans; void upd(int x, int v) { for(int i = x; i < N; i += (i&-i)) bit[i] += v; } int query(int x) { int sum = 0; for(int i = x; i > 0; i -= (i&-i)) sum += bit[i]; return sum; } int main() { ios::sync_with_stdio(false); cin.tie(0); cin>>n; for(int i = 1; i <= n; i++) cin>>v[i]; for(int i = 1; i <= n; i++) { int st = i, ant = v[i]; ans ++; while(i <= n and v[i] >= ant) { if(query(v[i]) - query(v[st] - 1)) break; ant = v[i]; i ++; } for(int j = st; j < i; j++) upd(v[j], 1); i --; } cout<<ans<<"\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...