Submission #1173898

#TimeUsernameProblemLanguageResultExecution timeMemory
1173898ezzzayGlobal Warming (NOI13_gw)C++20
19 / 40
182 ms34412 KiB
#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
const int N=3e5+5;
int a[N];
signed main(){
    int n;
    cin>>n;
    map<int,vector<int>>mp;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        mp[a[i]].pb(i);
    }
    set<int>st;
    for(int i=1;i<=n;i++){
        st.insert(a[i]);
    }
    int p=0;
    vector<bool>vis(n+1);
    for(int i=1;i<=n;i++)vis[i]=1;
    int h=1;
    for(auto x:st){
        reverse(mp[x].begin(),mp[x].end());
        
        for(auto i:mp[x]){
            if(vis[i+1]==1 and vis[i-1]==1){
                h++;
            }
            if(vis[i+1]==0 and vis[i-1]==0)h--;
            vis[i]=0;
        }
        p=max(p,h);
    }
    cout<<p;
}
#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...