求助
查看原帖
求助
126010
weijie楼主2020/7/28 11:06

似乎还有出现少输出的情况

#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
	while(cin>>n,n){
		if(n==0)return 0;
		long long s=0,h[100002]={0};
		int l[100002]={0},r[100002]={0};
		for(int i=1;i<=n;i++)cin>>h[i];
		for(int i=1;i<=n;i++){
			if(h[i]<=h[i-1])l[i]=l[i-1]+1;
			else l[i]=1;
		}
		for(int i=n;i>=1;i--){
			if(h[i]<=h[i+1])r[i]=r[i+1]+1;
			else r[i]=1;
		}
		for(int i=1;i<=n;i++)s=max(s,h[i]*(l[i]+r[i]-1));
		cout<<s<<endl;
	}
}
2020/7/28 11:06
加载中...