Submission #154146

#TimeUsernameProblemLanguageResultExecution timeMemory
154146mirceaishereBaloni (COCI15_baloni)C++14
0 / 100
395 ms35320 KiB
#include <iostream>
#include <vector>
using namespace std;

int n, i, j, x, f[1000005], sol, nrcrt, h;
vector<int>a[1000005];

int main(){
    cin>>n;
    for(i=1; i<=n; i++){
        cin>>f[i];
    }
    for(i=n; i>0; i--){
        x=f[i];
        a[x].push_back(i);
    }
    nrcrt=1;
    while(nrcrt<=n){
        sol++;
        h=f[nrcrt];
        f[nrcrt]=0;
        a[h].pop_back();
        for(;;){
            h--;
            if(a[h].empty()){
                break;
            }
            x=a[h].back();
            f[x]=0;
            a[h].pop_back();
        }
        while(f[nrcrt]==0){
            nrcrt++;
        }
    }
    cout<<sol;
}
#Verdict Execution timeMemoryGrader output
Fetching results...