枚举+贪心。
如果N<=M,那么答案就是100。
否则,要补交,就要补上连续M天的空缺,一一枚举过去就好。
#include <iostream>
#include <cstdio>
using namespace std;
int T,N,M,ans;
int A[110];
int main(){
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&N,&M);
for(int i=0;i<N;i++)
scanf("%d",&A[i]);
if(N<=M)
printf("100\n");
else
{
ans=0;
int t=A[M]-1;
ans=max(t,ans);
t=101-(A[N-M-1]+1);
ans=max(t,ans);
for(int i=1;i<N-M;i++)
{
t=A[i+M]-1-(A[i-1]+1)+1;
ans=max(t,ans);
}
printf("%d\n",ans);
}
}
return 0;
}