Submission #35279

#TimeUsernameProblemLanguageResultExecution timeMemory
35279dqhungdlMoney (IZhO17_money)C++14
100 / 100
236 ms9988 KiB
#include <bits/stdc++.h> using namespace std; int n,a[1000005],tree[1000005]; void Update(int idx) { while(idx<=1e6) { tree[idx]++; idx+=idx&-idx; } } int Query(int idx) { int rs=0; while(idx>0) { rs+=tree[idx]; idx-=idx&-idx; } return rs; } int main() { ios_base::sync_with_stdio(false); //freopen("TEST.INP","r",stdin); cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; int res=1,pre=1; for(int i=2;i<=n;i++) if(a[i]<a[i-1]||Query(a[i]-1)-Query(a[pre])>0) { res++; for(int j=pre;j<i;j++) Update(a[j]); pre=i; } cout<<res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...