P1567 统计天数(洛谷)

题目背景

统计天数

题目描述

炎热的夏日,KC非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。

经历千辛万苦,他收集了连续N(1<=N<=10^7)天的最高气温数据。

现在,他想知道最高气温一直上升的最长连续天数。

输入输出格式

输入格式:

*1行:一个整数N。1<=N<=10^7

*2行:N个空格隔开的整数,表示连续N天的最高气温。0<=最高气温<=10^9。

输出格式:

*1行:一个整数,表示最高气温一直上升的最长连续天数。

输入输出样例

输入样例#1: 复制

10
1 2 3 2 4 5 6 8 5 9

输出样例#1: 复制

5

说明

时间限制1s 内存限制128MB

解析:

用for循环进行,如果a [ i+1 ] > a [ i ],则s++,而且每一次都取max,一旦有下降的,令 s=1 (上升子序列至少有一个)即可;

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int M=1e7+10;
int a[M],b[M];
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
		scanf("%d",&a[i]);
	int s=1,ans=0;
	for(int i=0;i<n;i++){
		if(a[i+1]>a[i]){
			s++;
			ans=max(ans,s);
		}
		else s=1;
	}
	printf("%d\n",ans);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41555192/article/details/82628227