最长不下降子序列

题目描述

炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。

经历千辛万苦,他收集了连续 N(1 leq N leq 10^6)N(1N106) 的最高气温数据。

现在,他想知道最高气温一直上升的最长连续天数。

输入输出格式

输入格式:

第 1 行:一个整数 N 。1N10^6

第 2 行:N个空格隔开的整数,表示连续 N 天的最高气温。0≤ 最高气温 10^9 。

输出格式:

1 行:一个整数,表示最高气温一直上升的最长连续天数。

输入输出样例

输入样例#1:                                         输出样例#1: 

10                                                           5

1 2 3 2 4 5 6 8 5 9                                  

ac代码

#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
", max + 1);
    return 0;
}
View Code
Work hard in silence,let success make the noise.
原文地址:https://www.cnblogs.com/nixrpm/p/11217745.html