Submission #88416

#TimeUsernameProblemLanguageResultExecution timeMemory
88416Bodo171Money (IZhO17_money)C++14
0 / 100
4 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];
}
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]))
            secv++;
    }
    cout<<secv;
    return 0;
}

Compilation message (stderr)

money.cpp: In function 'int compute(int)':
money.cpp:22:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...