제출 #364746

#제출 시각아이디문제언어결과실행 시간메모리
364746nicolaalexandraMoney (IZhO17_money)C++14
0 / 100
1 ms364 KiB
#include <bits/stdc++.h>
#define DIM 1000010
using namespace std;

int aib[DIM],dp[DIM],v[DIM];
int n,i,maxi,val;

void update (int p, int val){
    for (;p<=maxi;p+=(p&-p))
        aib[p] += val;
}

int query (int p){
    int sol = 0;
    for (;p;p-=(p&-p))
        sol += aib[p];
    return sol;
}

int main (){

    //ifstream cin ("date.in");
    //ofstream cout ("date.out");

    cin>>n;
    for (i=1;i<=n;i++){
        cin>>v[i];
        maxi = max (maxi,v[i]);
    }

    int sol = 0;
    for (i=1;i<=n;i++){
        int j = i+1;
        while (j <= n && v[j] >= v[j-1] && query(v[j]-1) - query(v[i]) == 0)
            j++;

        sol++;

        /// acum fac update pt ca termin cu secv asta
        for (int poz=i;poz<=j;poz++)
            update (poz,1);
        i = j;
    }


    cout<<sol;

    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...