Submission #1353301

#TimeUsernameProblemLanguageResultExecution timeMemory
1353301lizi14Global Warming (NOI13_gw)C++20
0 / 40
1099 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];
    vector<int>s;
    map<int,vector<int>>mp;
    for(int i=0; i<n; i++){
        cin>>x[i];
        if(mp[x[i]].size()==0)s.pb(x[i]);
        mp[x[i]].pb(i);
    }
    int ans=1;
    sort(s.begin(),s.end());
    reverse(s.begin(),s.end());
    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++;
                // if(b!=0 && b!=n-1){
                //     l++;
                // }
            }
            else{
                if(di!=1 && ri!=1){
                    l--;
                }
                else bati.ina(b);
            }
            //cout<<l<<" ";
            //bati.ina(b);
        }
        
        // if(bati.size()==n-1){
        //     continue;
        // }
        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...