Submission #473656

#TimeUsernameProblemLanguageResultExecution timeMemory
473656ogibogi2004Money (IZhO17_money)C++14
0 / 100
1 ms332 KiB
#include<bits/stdc++.h> using namespace std; const int MAXN=1e6+6; int dp[MAXN],n,a[MAXN],mappeda[MAXN]; int fen[MAXN]; void update(int idx,int val) { for(;idx<MAXN;idx+=idx&(-idx)) { fen[idx]+=val; } } int query(int idx) { int ret=0; for(;idx>0;idx-=idx&(-idx)) { ret+=fen[idx]; } return ret; } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; update(a[i],+1); } int ans=1,last=a[n]; for(int i=n;i>=1;i--) { if(i!=n&&a[i]>=a[i+1]) { ans++; last=a[i]; } update(a[i],-1); if(query(last-1)-query(a[i])>0) { last=a[i]; ans++; } } cout<<ans<<endl; 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...