제출 #1173912

#제출 시각아이디문제언어결과실행 시간메모리
1173912ezzzay지구 온난화 (NOI13_gw)C++20
23 / 40
343 ms16636 KiB
#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
const int N=1e6+5;
int a[N];
signed main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    vector<int>v={a[1]};
    for(int i=2;i<=n;i++){
        if(a[i]!=v.back()){
            v.pb(a[i]);
        }
    }
    n=v.size();
    vector<pair<int,int>>vc;
    for(int i=1;i<=n;i++){
        a[i]=v[i-1];
        vc.pb({a[i],-i});
    }
    sort(vc.begin(),vc.end());
    vector<bool>vis(n+1);
    for(int i=1;i<=n;i++)vis[i]=1;
    int h=1;
    int l=0;
    int ans=1;
    for(auto p:vc){
        int c=p.ff,x=p.ss*-1;
        if(c!=l){
            if(vis[x+1]==1 and vis[x-1]==1){
                h++;
            }
            if(vis[x+1]==0 and vis[x-1]==0)h--;
            vis[x]=0;
            c=l;
        }
        ans=max(ans,h);
    }
    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...