Submission #1174380

#TimeUsernameProblemLanguageResultExecution timeMemory
1174380khangrlGlobal Warming (NOI13_gw)C++20
23 / 40
154 ms16160 KiB
#include<bits/stdc++.h>
#define ff first
#define ss second
#define ll long long
#define pb push_back
using namespace std;
int n, h[1000005], mp[1000005];
vector <pair <int, int> > v;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
	cin>>n;
	for(int i=1; i<=n; i++){
		cin>>h[i];
		v.pb({h[i], i});
	}
	sort(v.begin(), v.end());
	int cnt=0, ans=0;
	for(int i=n-1; i>=0; i--){
		int idx=v[i].ss;
		if(mp[idx+1]+mp[idx-1]==0){
			cnt++;
		}
		if(mp[idx+1]+mp[idx-1]==2){
			cnt--;
		}
		mp[idx]=1;
		if(v[i].ff!=0 or h[idx]!=h[idx+1]){
		    ans=max(cnt, ans);
		}
	}
	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...