Submission #88418

#TimeUsernameProblemLanguageResultExecution timeMemory
88418Bodo171Money (IZhO17_money)C++14
0 / 100
2 ms508 KiB
#include <iostream> #include <fstream> using namespace std; const int lim=1000*1000; const int nmax=1000*1000+5; int aib[nmax],a[nmax]; int n,i,j,secv; inline int lbit(int x) { return ((x^(x-1))&x); } void update(int poz,int val) { for(int idx=poz;idx<=lim;idx+=lbit(idx)) aib[idx]+=val; } int compute(int poz) { int ret=0; for(int idx=poz;idx>0;idx-=lbit(idx)) ret+=aib[idx]; return ret; } int main() { //freopen("data.in","r",stdin); ios_base::sync_with_stdio(false); cin>>n; for(i=1;i<=n;i++) { cin>>a[i]; update(a[i],1); } for(i=n;i>=1;i--) { update(a[i],-1); if(i==n||a[i+1]<a[i]||compute(a[i+1])-compute(a[i]-1)) secv++; } cout<<secv; 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...