您的位置:首页 > 其它

CCF 201312-3最大的矩形

2016-12-13 16:51 351 查看
//@Number 20140807
//@start time:
//@finish time:
//@此处注意:数据量不大 可以暴力,但是要注意细节 我这次交了4遍才100,要小心。
//@
/* 测试数据
6
3 1 6 5 2 3
*/

#include<iostream>
#include<cstring>
#include<vector>
#include<cmath>
int a[1005];
int findmin(int start,int end){//找a start和a end之间 最小的边
int min=a[start];
for(int i=start;i<=end;i++){
if (a[i]<=min)
min=a[i];
}
return min;
}
int calculate(int start,int	length){
if (length==0){return a[start];	}
int y=findmin(start,start+length);
return (1+length)*y;
}
using namespace std;
int main(){
int num;
cin>>num;

for(int i=0;i<num;i++){
cin>>a[i];
}
//暴力,把1个组成……num个组成的全部求一遍
int max=0;
for(int i=0;i<num;i++){
for(int x=0;x+i<num;x++){

int ans=calculate(i,x);
if (ans>max)
max=ans;
}
}
cout<<max;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: