那天的延长线在今天β

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 <bits/stdc++.h>
#define ll long long
#define ull unsigned ling long
#define INF 0×3f3f3f3f  //0×7ffffff
#define EPS 1e-6
#define maxn 10000+10
#define PI acos(-1.0)
using namespace std;

int main()
{
    int t,x,pre,len,maxx;
    cin>>t;
    while(t--)
    {
        maxx=0;
        len=1;
        cin>>n;
        cin>>pre;
        for(int i=1;i<n;i++)
        {
            cin>>x;
            if(x==pre+1)
                len++;
            else len=1;
            pre=x;
            if(maxx<len) maxx=len;
        }
        cout<<maxx<<endl;
    }
    return 0;
}

 

发表评论,支持MarkDown语法