제출 #35279

#제출 시각아이디문제언어결과실행 시간메모리
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...