题目链接:点击查看
记得这种题见了好几次了,每次都忘记补。
主要思想就是贪心,直接暴力即可。
AC代码:
#include<stdio.h>
int main(){
int a[101]; //储存漏签天数
int t,n,m;
scanf("%d",&t);
while(t--){
a[0] = 0;
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
if(n <= m) //漏签天数小于补签卡数
printf("100\n");
else{
int num = n - m;
int max = 0;
for(int i=1;i<=num;i++){ //遍历所有连续的补签方法,找出最大值
if((a[i+m]-a[i-1]) > max)
max = a[i+m] - a[i-1];
}
printf("%d\n",max-1); //多数一天
}
}
return 0;
}