最长不下降子序列
题目描述
炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。
经历千辛万苦,他收集了连续 N(1 \leq N \leq 10^6)N(1≤N≤106) 的最高气温数据。
现在,他想知道最高气温一直上升的最长连续天数。
输入输出格式
输入格式:
第 1 行:一个整数 N 。1≤N≤10^6
第 2 行:N个空格隔开的整数,表示连续 N 天的最高气温。0≤ 最高气温 ≤10^9 。
输出格式:
1 行:一个整数,表示最高气温一直上升的最长连续天数。
输入输出样例
输入样例#1: 输出样例#1:
10 5
1 2 3 2 4 5 6 8 5 9
ac代码
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <stdio.h> #define MAXN 10000000 long a[MAXN]; int main(int argc, const char * argv[]) { int N, i, j, max = 0, count = 0; scanf ("%d", &N); for (i = 0; i < N; i++) scanf ("%ld", &a[i]); for (j = 1; j < N; j++) { if (a[j] >= a[j-1]) count++; else { if (count > max) max = count; count = 0; } } printf ("%d\n", max + 1); return 0; }
Work hard in silence,let success make the noise.