题目描述
炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。
经历千辛万苦,他收集了连续 N(1≤N≤106) 天的最高气温数据。
现在,他想知道最高气温一直上升的最长连续天数。
输入格式
第 1 行:一个整数 N 。1≤N≤106
第 2 行:N个空格隔开的整数,表示连续 N 天的最高气温。0≤0≤ 最高气温 ≤109≤109 。
输出格式
1 行:一个整数,表示最高气温一直上升的最长连续天数。
输入输出样例
输入 #1复制
10 1 2 3 2 4 5 6 8 5 9
输出 #1复制
5
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int arr[n+1]={0};
//多开一位数组,方便判断最后一位
//比如升序列1 2 3,不开的话下面循环只能到2,然后比较2和3,flag=2
//然后循环就结束了,没把3计进去,多开一位a[n+1]是0
//任何正数都比零大,所以最后一位会被计进去,flag=3。
for(int i=0;i<n;i++){
cin>>arr[i];
}
int flag=1;//标记这次上升几天
int max;// 标记最大上升几天
for(int i=0;i<n;i++){
if(arr[i]<arr[i+1]){//明天比今天大,flag++
flag++;
}
else{//明天比今天小,存数
if(flag>max){
max=flag;
}
flag=1;
}
}
cout<<max;
}