题目描述炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。经历千辛万苦,他收集了连续 N(1 \leq N \leq 10^6)N(1≤N≤106) 的最高气温数据。现在,他想知道最高气温一直上升的最长连续天数。输入输出格式输入格式:
第 1 行:一个整数 NN 。1 \leq N \leq 10^61≤N≤106第 2 行:NN个空格隔开的整数,表示连续 NN 天的最高气温。0 \leq0≤ 最高气温 \leq 10^9≤109 。
输出格式:
1 行:一个整数,表示最高气温一直上升的最长连续天数。
输入样例#1:10
1 2 3 2 4 5 6 8 5 9
输出样例#1: 5
解题思路:我用数组超限了,所以就直接用比较法,最开始flag为1,用sum来存一下flag的值,也为一,如果后面的大于前面的,flag加一,否则比较一下flag是否大于sum,大于将flag的值存给sum,flag=1。
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
long int n,i,sum,x,y;
long int flag=1;
long int max=1;
scanf("%ld",&n);
cin>>x;
for(i=1;i<n;i++)
{
cin>>y;
if(y>x)
{
flag++;
}
else
{
if(flag>max)
{
max=flag;
}
flag=1;
}
x=y;
}
if(flag>max)max=flag;
cout<<max;
return 0;
}