题目描述

一天,Bessie在眺望美丽的威斯康星的群山的时候,她突然产生了疑问:那座山是最宽的?

她决定在地平线上,利用她的新式大量程山峰高度测量仪依次做N (1 <= N <= 10,000)次高度测量,每次的高度值为H_i (1 <= H_i <= 1,000,000,000)。

一座山定义为一段连续的高度序列,序列中的高度一开始单调上升(或者不变),然后单调下降(或者不变)。举例来说,2, 3, 3, 5, 4, 4, 1这一段高度序列就是一座山。如果在她的视线范围内有一段单调上升或者单调下降的序列,也算是一座山。注意,两座山之间可能会有部分重叠。

山的宽度定义为在这个山上进行的测量的次数(也就是序列的长度)。例如序列2, 3, 3, 5, 4, 4, 1的宽度为7。

请帮Bessie找到最宽的山。

下图是一个比较典型的的例子:

*** *

***** ***

** *****

** *

  • *** * *** *

***** * *** * 山的形状


3211112333677777776543332111112344456765432111212111112343232111111211 高度值

aaaaa cccccccccccccccccccc eeeeeee ggggggggg

bbbbbbbbbbbbbbbbbbbbbbbbbbbb ddddd ffffffffff hhhhhhhhh 山的编号

山标记为'a', 'b'等等。显然,山b有着最大的宽度,宽度为28。

输入输出格式

输入格式:

第1行: 一个单独的整数: N

第2到第N+1行: 第i+1行包含一个单独的整数: H_i

输出格式:

第1行: 一个单独的整数,表示最宽的山的宽度。

输入输出样例

输入样例#1: 复制

7
3
2
3
5
4
1
6
输出样例#1: 复制

5

说明

[样例说明]

在最宽的山处测量到的高度为2, 3, 5, 4, 1. 其他的山包括3, 2和1, 6。

提示:

如果你知道一座山的最高的部分(也就是山峰),你会发现,找到这座山的宽度是很容易的哦。

思路:模拟。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int num[];
int l,r,ans=-0x7f7f7f7f;
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&num[i]);
for(int i=;i<=n;i++){
l=r=i;
while(l>&&num[l]>=num[l-]) l--;
while(r<n&&num[r+]<=num[r]) r++;
ans=max(ans,r-l+);
}
cout<<ans;
}

洛谷 P1893 山峰暸望的更多相关文章

  1. BZOJ1925或洛谷2467 [SDOI2010]地精部落

    BZOJ原题链接 洛谷原题链接 先讲下关于波动数列的\(3\)个性质. 性质\(1\):对于数列中的每一对\(i\)和\(i + 1\),若它们不相邻,那么交换这两个数形成的依旧是一个波动数列. 性质 ...

  2. BZOJ 3545 / 洛谷 P4197 Peaks 解题报告

    P4197 Peaks 题目描述 在\(\text{Bytemountains}\)有\(N\)座山峰,每座山峰有他的高度\(h_i\).有些山峰之间有双向道路相连,共\(M\)条路径,每条路径有一个 ...

  3. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

  4. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  5. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  6. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  7. 洛谷P1710 地铁涨价

    P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交  讨论  题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...

  8. 洛谷P1371 NOI元丹

    P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交  讨论  题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...

  9. 洛谷P1538迎春舞会之数字舞蹈

    题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...

随机推荐

  1. Google Nexus 5x Android 7.0 Root

    很久没有写东西了,准备重新养成这个好习惯.因为自己一直在用Nexus,前段时间自己的Nexus5老的不行了,所以买了台5x,一直没时间root,今天有时间终于有时间弄一下. 在这里整理分享一下. 开始 ...

  2. java jframe关闭窗口

    frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { i ...

  3. 【Docker自定制镜像之Dockerfile】

    镜像的定制,就是定制每一层所添加的配置.文件,如果可以把每一层修改.安装.构建.操作的命令都写入到一个脚本中,用脚本来构建.定制镜像,这个脚本就是Dockerfile Dockerfile是一个文本文 ...

  4. python第六次作业——随笔

    第一就是教的和布置的作业难度不一样.python在课堂上学到的东西太基础.然而作业基本上在教义是不能直接找到公式照搬的(尤其是第五次作业文件处理要用到pandas和numpy),所以做作业只能自己去找 ...

  5. 今日SGU 5.15

    最近事情好多,数据库作业,没天要学2个小时java,所以更新的sgu就比较少了 SGU 131 题意:给你两种小块一种,1*1,一种2*2-1*1,问你填满一个m*n的矩形有多少钟方法,n和m小于等于 ...

  6. PHP保留两位小数

    1.不四舍五入 $number = 23.43453;$english_format_number = number_format($number, 2, '.', '');echo $english ...

  7. RHEL7.1安装VNC

    1.安装包 yum install vnc* -y 2.创建password vncserver 3.创建參数文件 [root@single ~]# cp /lib/systemd/system/vn ...

  8. Python 查找Twitter中特定话题中最流行的10个转发Tweet

    CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-4 @author: guaguastd @name: fi ...

  9. js插件---markdown如何使用

    js插件---markdown如何使用 一.总结 一句话总结:看文档,看api,看参数列表,看js调用插件的调用函数的参数(json) 1.js和css的问题:如何知道插件要引入哪些js和css? a ...

  10. | 插件下载陈磊SQL MD5 加密

    简介:SQL MD5 加密 下述是 SQL Server 中 MD5加密 16位和32位的 ,)) ,ModifiedOn=null ; ,)) ,ModifiedOn=null ;