题目描述
新春佳节之际,路上挂起了一排喜气洋洋的大红灯笼,从左至右编号分别为
1,2,...,n。但小爱发现,目前有
p个灯笼不亮了,很是影响美观。
请你帮助小爱计算,最少修复多少个灯笼,便可使道路上有连续
m个亮着的大红灯笼?
输入
输入共两行:
第一行,三个正整数分别表示
n,m,p
第二行,
p个正整数,表示已经不亮的灯笼编号
输出
输出共一行,一个正整数表示答案
样例输入
8 5 3
5 1 8
样例输出
1
#include<bits/stdc++.h>
using namespace std;
int n,m,p,a[100005],sum[100006],minn=1000,c;
int main(){
cin>>n>>m>>p;
for(int i=1;i<=p;i++){
cin>>c;
a[c]=1;
}
for(int i=1;i<=n;i++)
sum[i]=sum[i-1]+a[i];
for(int i=m;i<=n;i++)
minn=min(minn,sum[i]-sum[i-m]);
cout<<minn;
return 0;
}
71分求调