2018年广东工业大学文远知行杯新生程序设计竞赛 1006 那天的延长线在今天β

Problem Description

In the world line 1.048596%

“梓川......今天是第几次了?”

双叶理央正在摆弄虹吸式咖啡壶,她看梓川咲太的目光已经不是傻眼或者嫌烦,而是带着悲悯。

“这次不是青春期症候群的事情,而是这个。”梓川拿出了『翔子小姐』的信件。

“寻求劈腿的方法?”

“不,不是这样,不要胡乱误解。”梓川咲太赶紧打住双叶理央的话“你认为我应该怎么说明才对?”

双叶理央想了一下,很快聪明的大脑得出了正确的答案。

“我知道了,不过在此之前”,双叶理央拿出一张A4纸大小的实验记录表格“上面是我做实验的数据序列,有n个数字吧,你帮我找到其中最长的连号子串长度。”

“最长的连号子串?”

“连号的定义是a[i] + 1 == a[i+1],在这样的定义下长度最少为2,也可能并没有所谓连号子串,那长度为1就行了。”

双叶理央正在滑手机,头也不抬的回答道。

梓川看了看写了密密麻麻的数据的表格,头皮有点发麻。但也只能硬着头皮做了。

“昨天看到信的时候,立刻找樱岛学姐商量就好了吧?你以事发突然的为难态度说明,就可以不经意当成是两人要面对的问题吧?”

写到一半的时候,双叶理央对咲太说出了这个答案。真是漂亮,但非常遗憾,这个手段已经没法使用了。

“双叶,为什么昨天没教我这个方法?”

“因为你没找我商量,然后你赶紧写吧,快来不及了。”

“什么来不及了?”

梓川咲太猜不透双叶理央的意图。

“刚刚在Line上,樱岛麻衣说她现在过来。”

 

 

Input

第一行一个整数T(T<=15),代表一共有T组样例。

对于每组样例:

第一行一个整数 n, 表示序列长度(1 <= n <= 10000)

第二行 n 个整数 a[i]。(0 <= a[i] <= 10000)

题目保证n的总和不超过30000.

 

 

Output

输出一个整数,表示最长的连号子串的长度。

 

 

Sample Input


 

2 5 1 2 3 5 6 3 1 3 2

 

 

Sample Output


 

3 1

 

 

#include<iostream>
#include<algorithm>
using namespace std;
int a[10000+10];

int main()
{
    int n,m,j,k,i,T;
    cin>>T;
    while (T--)
    {
        cin>>n;
        for (i=1;i<=n;i++)
        cin>>a[i];
        
        int ans = 1;
        int sum=1;
        for (i=1;i<=n-1;i++)
        {
            
            if (a[i]+1==a[i+1])
            {
                sum++;
            }
            
            else 
            {
            
                ans = max(ans,sum);    
                sum = 1;
            }
        }
        ans = max(sum,ans);
        cout<<ans<<endl;
    }    
    
    return 0;
}

 

posted @ 2019-01-12 16:04  RomanticChopin  阅读(132)  评论(0编辑  收藏  举报
-->
Live2D