【CodeForces】[66B]Petya and Countryside

文章字数:254

问题描述

问题分析

题目理解有点难度
其实就是找出一个最大的“山”形
也就是先不递减再不递增的形状

理解了题意
代码就很容易写了

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
int a[1020];
int main() {
	int n;
	while(scanf("%d",&n)!=EOF) {
		scanf("%d",&a[0]);
		for(int i=1; i<n; i++)
			scanf("%d",&a[i]);
		int res=0;
		for(int i=0; i<n; i++) {
			int j;
			for(j=i+1; j<n&&a[j]>=a[j-1]; j++);
			while(j<n&&a[j]<=a[j-1])
				j++;
			res=res<j-i?j-i:res;
		}
		printf("%d\n",res);
	}
	return 0;
}

题目地址:【CodeForces】[66B]Petya and Countryside

题意:
在给出的数组中找出最长的一段满足
先不递减再不递增的区间
也就是形如”1223221”

解题过程
因为要找的是一段满足先不递减再不递增的区间
所以可以模拟这一过程
分别以各个数字为起点向后查找
记录能达到的最大长度
从而更新最大值

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...