CCF201312-3 最大的矩形

two pointer 暴力法

i表示起始矩形,j表示结束矩形   那么宽度是(j-i+1)  高度是这其中最小的高度

#include<bits/stdc++.h>
using namespace std;
const int maxn=1010;
int d[maxn];
int main(){
	int n;
	cin>>n;
	for(int i=0;i<n;i++) cin>>d[i];
	int max=0;
	for(int i=0;i<n;i++){
		int h=d[i];
		for(int j=i;j<n;j++){
			if(d[j]<h) h=d[j];
			int s=(j-i+1)*h;
			if(s>max) max=s;
		}
	}
	cout<<max;
	return 0;
}
发布了145 篇原创文章 · 获赞 0 · 访问量 1251

猜你喜欢

转载自blog.csdn.net/qq_42671442/article/details/104740749