河南省多校連萌(四)【zzuli 2178 GJJ來簽到】

點擊打開鏈接


2178: GJJ來簽到

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 535  Solved: 108

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

#include<cstdio>
#include<algorithm>
using namespace std;
#define Max 105
int a[Max],b[Max],sum[Max];
int main()
{
	int T,N,M,i,j,num,temp,mmax;
	while(scanf("%d",&T)!=EOF)
	{
		while(T--)
		{
			a[0]=0;
			scanf("%d%d",&N,&M);
			for(i=1;i<=N;i++)
				scanf("%d",&a[i]);
			a[i]=101;
			int s=a[M+1]-1;
			for(i=2;i<=N+1;i++)
			{	
				
				if(i+M<=N+1) s=max(s,a[i+M]-a[i-1]-1);
			}
			printf("%d\n",(N==0||M>=N)?100:s);
		}
	}
	return 0;
}




發佈了108 篇原創文章 · 獲贊 11 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章