洛谷上的最长连号,不知道为什么只有80分

img

img


adwfgsvshshbeheksjdbbdjdjdbshejhsvsb


#include<stdio.h>
#define N 10000 
 
int a[N];
int arr[N];
 
int judge(int a[N],int length)
{
    int i,j,k,cnt;
    cnt = 1;
    k = 0;
    for(i = 0;i < length;i ++)
    {
        j = a[i+1] - a[i];
        if(j == 1)
        {
            cnt++;
        }else{
            arr[k++] = cnt;
            cnt = 1;
        }
            
    }
    return k;
}
 
int main()
{
    int n,i,j,tmp,length;
    scanf("%d",&n);
    
    for(i = 0;i < n;i ++)
    {
        scanf("%d",a+i);
    }
    length = judge(a,n);
    for(i = 0;i < length - 1;i ++)
    {
        for(j = 0;j < length - i - 1;j ++)
        {
            if(arr[j] < arr[j+1])
            {
                tmp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = tmp;
            }
        }
    }
    
    printf("%d",arr[0]);
    return 0;
}

把a[100000] 改成 a[10000] 试试。 是1万,不是10万。
还有这两种情况 题目要求的最大都是1的输出吧?如果是1的话,应该没有啥问题
第一种 2 1
第二种 2