zzuli-2178- GJJ來簽到

傳送門:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2178


2178: GJJ來簽到

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 589  Solved: 127

SubmitStatusWeb Board

Description

GJJ每天都很忙碌, 他每天要上班, 還要回家燒飯洗衣服。GJJ的公司有個要求, 每天上班需要打卡,忙碌的GJJ有時候會忘記打卡簽到了,導致他的缺勤記錄裏有對應N天未簽到的記錄。 Gjj可是認識管理部門的妹子琳, 琳給了他M張簽到卡,每張都可以消除某一天的未簽到記錄。將原本未簽到的一天變成已經簽到的一天。
GJJ現在想要利用這些簽到卡使自己連續簽到的天數最長, 小夥伴們請幫幫GJJ吧。

Input

第一行是一個正整數 T (T<=100),代表測試數據的組數。
每個測試數據第一行是兩個整數N和M(0<=N, M<=100)。第二行包含N個整數a1到aN,表示GJJ沒有打卡簽到,輸入保證a1,a2,a3...aN是嚴格遞增的,並且任意一個ai, 1<=ai<=100。

Output

對於每組數據,輸出使用簽到卡後,最多能讓GJJ連續簽到天數變成多少。

Sample Input

28 23 4 19 26 33 53 62 905 227 29 49 50 70

Sample Output

5651

HINT

Source

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
bool cmp(int a,int b)
{
    return a>b;
}
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n,m,a[150],b[150];
        scanf("%d%d",&n,&m);
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        int j=0;
        for(int i=m; i<n+m; i++)
        {
            scanf("%d",&a[i]);
            b[j++]=a[i]-a[i-m-1]-1;
        }
        b[j++]=100-a[n-1];
        sort(b,b+n+5,cmp);
        printf("%d\n",b[0]);
    }
    return 0;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章