Submission #1353257

#TimeUsernameProblemLanguageResultExecution timeMemory
1353257lizi14Global Warming (NOI13_gw)C++20
0 / 40
1097 ms131072 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define f first
#define ss second
#define ina insert
#define pb push_back
signed main(){
    int n;
    cin>>n;
    int x[n];
    set<int>s;
    map<int,vector<int>>mp;
    for(int i=0; i<n; i++){
        cin>>x[i];
        s.ina(x[i]);
        mp[x[i]].pb(i);
    }
    int ans=1;
    set<int>bati;
    int l=0;
    for(auto a:s){
        int di=0,ri=0;
        for(auto b:mp[a]){
            if(bati.find(b-1)==bati.end())di=1;
            if(bati.find(b+1)==bati.end())ri=1;
            if(di && ri){
                bati.ina(b);
                l++;
            }
            else{
                if(di!=1 && ri!=1){
                    l--;
                }
                else bati.ina(b);
            }
            //bati.ina(b);
        }
        if(bati.find(n-1)!=bati.end()){
            ans=max(l+1,ans);
        }
        else ans=max(l,ans);
    }
    cout<<ans<<endl;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...