• DZY Loves Sequences


    DZY Loves Sequences
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    DZY has a sequence a, consisting of n integers.

    We'll call a sequence ai, ai + 1, ..., aj (1 ≤ i ≤ j ≤ n) a subsegment of the sequence a. The value (j - i + 1) denotes the length of the subsegment.

    Your task is to find the longest subsegment of a, such that it is possible to change at most one number (change one number to any integer you want) from the subsegment to make the subsegment strictly increasing.

    You only need to output the length of the subsegment you find.

    Input

    The first line contains integer n (1 ≤ n ≤ 105). The next line contains n integers a1, a2, ..., an (1 ≤ ai ≤ 109).

    Output

    In a single line print the answer to the problem — the maximum length of the required subsegment.

    Sample test(s)
    input
    6
    7 2 3 1 5 6
    output
    5
    #include <stdio.h>
    #include <string.h>
    #include <algorithm>
    using namespace std;
    #define N 100005
    #define INF 0x3f3f3f3f
    int a[N],b[N],c[N];
    int main()
    {
        int n,i;
        while(~scanf("%d",&n))
        {
            memset(c,0,sizeof(c));
            memset(b,0,sizeof(b));
            for(i = 1; i<= n ; i++) scanf("%d",&a[i]);
            b[1] = 1;
            for(i = 2 ; i <= n ; i++){
                if(a[i]>a[i-1]) b[i] = b[i-1]+1;
                else b[i] = 1;
            }
            c[n] = 1;
            for(i = n-1 ; i>=1 ; i--){
                if(a[i]<a[i+1]) c[i] = c[i+1] +1;
                else c[i] = 1;
            }
            int ans = max(c[2]+1,b[n-1]+1);
            for(i = 2 ; i < n ; i++){
                if(a[i+1]>a[i-1]+1) ans = max(ans,b[i-1]+c[i+1]+1);
                else ans = max(ans,max(b[i-1]+1,c[i+1]+1));
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    几种常见的content-type
    node简单起服务
    ESlint配置案例及如何配置
    网络攻防学习心得一(20159320)工具学习
    网络攻防学习心得一(20159320)黑客信息
    题解 POJ1187 【陨石的秘密】
    题解 POJ1934 【Trip】
    题解 POJ1952 【BUY LOW, BUY LOWER】
    TIM bug 总结以及应对方案
    题解 POJ3171 【Cleaning Shifts】
  • 原文地址:https://www.cnblogs.com/llei1573/p/3852959.html
Copyright © 2020-2023  润新知