Submission #1264315

#TimeUsernameProblemLanguageResultExecution timeMemory
1264315AndiRGlobal Warming (NOI13_gw)C++17
40 / 40
326 ms9188 KiB
#include <iostream>
#include <algorithm>

using namespace std;

const int Nmax=1e6+5;

int n;

bool vis[Nmax];

struct ev{
    int h;
    int pos;
}v[Nmax];

bool cmp(ev a, ev b){
    return a.h<b.h;
}

int main(){
    cin>>n;
    for (int i=0; i<n; i++){
        cin>>v[i].h;
        v[i].pos=i+1;
    }

    vis[0]=1;
    vis[n+1]=1;

    sort(v, v+n, cmp);

    int ant=-1;
    int mx=1, crt=1;
    for (int i=0; i<n; i++){
        if (v[i].h!=ant)
            mx=max(mx, crt);
        ant=v[i].h;

        int pos=v[i].pos;

        if (vis[pos-1]==0 && vis[pos+1]==0)
            crt++;
        else if (vis[pos-1]==1 && vis[pos+1]==1)
            crt--;
        vis[pos]=1;
    }
    mx=max(mx, crt);

    cout<<mx;

    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...
#Verdict Execution timeMemoryGrader output
Fetching results...