Submission #1174376

#TimeUsernameProblemLanguageResultExecution timeMemory
1174376ezzzayGlobal Warming (NOI13_gw)C++20
0 / 40
242 ms131072 KiB
#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
const int N=6e5;
#define int short
int a[N];
bool vis[N];
set<int>st;
vector< pair<int,int>>v;
signed main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        v.pb({a[i],i});
        st.insert(a[i]);
    }
    int ans=0;
    sort(v.begin(),v.end());
    int k=0;
    while(*prev(st.end())){
        while(v.size() and *prev(st.end()) <=v.back().ff){
            if(vis[v.back().ss+1] and vis[v.back().ss-1]){
                k--;
            }
            if(!vis[v.back().ss+1] and !vis[v.back().ss-1]){
                k++;
            }
            vis[v.back().ss]=1;
            v.pop_back();
        }
        ans=max(ans,k);
        if(v.empty())break;
        st.erase(prev(st.end()));
    }
    cout<<ans;
}
#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...