统计天数
题目描述
炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。
经历千辛万苦,他收集了连续 N ( 1 ≤ N ≤ 1 0 6 ) N(1 \leq N \leq 10^6) N(1≤N≤106) 天的最高气温数据。
现在,他想知道最高气温一直上升的最长连续天数。
输入格式
第 1 行:一个整数 N N N 。 1 ≤ N ≤ 1 0 6 1 \leq N \leq 10^6 1≤N≤106
第 2 行: N N N个空格隔开的整数,表示连续 N N N 天的最高气温。 0 ≤ 0 \leq 0≤ 最高气温 ≤ 1 0 9 \leq 10^9 ≤109 。
输出格式
1 行:一个整数,表示最高气温一直上升的最长连续天数。
样例 #1
样例输入 #1
10
1 2 3 2 4 5 6 8 5 9
样例输出 #1
5
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[3];
int main()
{
ll n;
cin>>n;
ll x=0,num=0;
for(ll i=1;i<=n;i++)
{
cin>>a[2];
if(a[2]>=a[1])
{
x++;//如果比前面的大,那么累加器加一
num=max(num,x);//如果累加器内大于最大连续天数,那么给它赋值
}
else x=1;//如果比它小,那么变成一,注意不是变成零
a[1]=a[2];//变成前一天
}
cout<<num<<endl;
return 0;
}