最大的矩形(测试全对,为什么只有20分??)

问题描述

在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。

请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。

输入格式

第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。

第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空格分隔。(1 ≤ hi ≤ 10000)。hi是第i个矩形的高度。

输出格式

输出一行,包含一个整数,即给定直方图内的最大矩形的面积。

样例输入

6

3 1 6 5 2 3

样例输出

10

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
	int n,sum=0;
	cin>>n;
	vector<int>a;
	for(int i=0;i<n;i++)
	{
		int x;
		cin>>x;
		a.push_back(x);
	}

	for(int j=2;j<=n;j++)
		for(int k=0;k<n-(j-1);k++)
		{
			vector<int> b;
			int h=0,m=k;
			while(h<j)
			{
				b.push_back(a[m]);
				h++;
				m++;
			}

 			int min0=*min_element(b.begin(),b.end());
			int sum0=min0*j;
			if(sum0>sum)
				sum=sum0;
		}

		cout<<sum<<endl;

		return 0;
}

  

时间: 2024-10-23 19:10:28

最大的矩形(测试全对,为什么只有20分??)的相关文章

React16组件化+测试+全流程 实战“在线账本”项目

第1章 课程介绍介绍了整个课程的背景知识,项目简介,学习流程,可以掌握的知识点,以及学习方法和前置知识 第2章 设计稿:从蓝图开始从原型图出发,分析整个应用的需求和功能点,最后规定了文件结构和代码规范. 第3章 首页:庖丁解牛使用 React 理念开发首页的功能,通过组件拆分-展示型组件开发的流程开发所有的展示型组件,并且学习 PropTyps 验证 React组件的属性. 第4章 首页:乐高积木继续 React 理念的开发 ,通过 展示型组件组合 - state和数据流分析 -添加 state

基于Jenkins的开发测试全流程持续集成实践

今年一直在公司实践CI,本文将近半年来的一些实践总结一下,可能不太完善或优美,但的确初步解决了我目前所在项目组的一些痛点.当然这仅是一家之言也不够完整,后续还会深入实践和引入Kubernetes进行容器编排,以及通过阿里云K8S服务进行高效的云上托管,希望对各位童鞋有一点用. 一.持续集成全流程介绍 今年一直在开发我司的一个核心业务系统,一个还未上线的产品开发阶段,其中后端采用ASP.NET Core + 一系列开源组件开发微服务并且部署在Linux Docker中,前端采用React + Fl

Kali 渗透测试- 全主动信息收集-发现

╋━━━━━━━━━━━━━━━━━━━━━╋ ┃主动信息收集                              ┃ ┃无法避免留下访问的痕迹                    ┃ ┃使用受控的第三方电脑进行探测              ┃ ┃  使用代理或已经被控制的主机              ┃ ┃  做好被封杀的准备                        ┃ ┃  使用噪声迷惑目标,淹没真是的探测流量    ┃ ┃扫描                      

Codeforces Round #587 (Div. 3) C题 【判断两个矩形是否完全覆盖一个矩形问题】 {补题 [差点上分系列]}

C. White Sheet There is a white sheet of paper lying on a rectangle table. The sheet is a rectangle with its sides parallel to the sides of the table. If you will take a look from above and assume that the bottom left corner of the table has coordina

最全Pycharm教程(20)——Pycharm编辑器功能之模板应用

Pycharm自带了很多灵活的模板,但针对python本身的模板只有一个.这里我们将详细介绍如何针对Python类来创建模板并使用. 对于Python编程以及基本模板的使用我们这里不再赘述.关于模板的类型.缩写.变量名.以及存储的相关信息参见Live Templates:模板的使用方法参见 Creating Code Constructs by Live Templates. 2.准备工作 Pycharm版本为2.7或者更高,请大家自行安装. 3.模板的私人订制 4.创建一个根模板 打开设置对话

测试分页查询出数据并分文件导出[java工程]

1 package cn.shiyanjun.test; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class ExcelTest3 { 7 List<Integer> rowData = getRowData(17); 8 public static void main(String[] args) { 9 ExcelTest3 excelTest3 = new ExcelTest3(); 10 e

测试Animation大型动画文件拆分播放的可行性

最近遇到一个问题,动画文件大了复杂了之后,每次修改输出很麻烦,导出fbx就需要20分钟再加上unity这边的导入加起来得40分钟左右. 所以我想到了一个比较好的解决方法,在unity这边解决.把动画文件拆分成若干份,然后赋予不同的层并行播放 当要修改某个角色或者某几个角色的动画只要输出一小部分就可以了 为了测试可行性,我使用了一个跑动的模型动画进行测试,一共复制了20分,分别用多层动画(20层)和单个动画来播放,测试性能 单个动画测试结果:(消耗时间2.5毫秒左右,浮动不大比较稳定) 多层动画测

简单有效的科学健脑方法

勤练脑力可使记忆力增强,勤做有氧运动可使大脑灰质增加,勤于思考可使理智与情感有机互补. 这些措施看上去很美,但美中不足的是,它们对大脑的训练都不够彻底,这也是越来越多此类研究的通病.记忆训练对大脑的好处当然比看真人秀什么的要靠谱得多,但这些训练充其量也就能够让你更容易想起已经储存在大脑皮层周围的零散信息,对于增长知识.提高智商意义不大.它们不会告诉你美联储是怎么运作的.南北战争时期输的为什么是南方.毕加索的名画<亚维农的少女>有什么了不起.Word为什么会崩溃.它们更不会给你带来改善日常生活的

4.airflow测试

1.测试sqoop任务1.1 测试全量抽取1.1.1.直接执行命令1.1.2.以shell文件方式执行sqoop或hive任务1.2 测试增量抽取2.测试hive任务3.总结 当前生产上的任务主要分为两部分:sqoop任务和hive计算任务,测试这两种任务,分别以shell文件和直接执行命令的方式来测试. 本次测试的表是airflow.code_library. 1.测试sqoop任务 1.1 测试全量抽取 1.1.1.直接执行命令 from airflow import DAG from ai