题目背景
统计天数
题目描述
炎热的夏日,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;
}