Submission #35275

#TimeUsernameProblemLanguageResultExecution timeMemory
35275dqhungdlMoney (IZhO17_money)C++14
0 / 100
0 ms9988 KiB
#include <bits/stdc++.h> using namespace std; int n,a[1000005],tree[1000005]; void Update(int idx,int data) { while(idx<=1e6) { tree[idx]+=data; 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]; Update(a[i],1); } int res=1,Count=0; for(int i=2;i<=n;i++) { Update(a[i],-1); if(a[i]<a[i-1]||(Query(a[i])-Query(a[i-1])>0&&Count==1)) { res++; Count=0; } else if(Query(a[i])-Query(a[i-1])>0) Count++; } 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...