📄 1545.cpp
字号:
#include <cstdio>
#include <memory>
int f[10001],l,s,t,m;
bool stone[10001];
void scan()
{
int temp;
memset(f,-1,sizeof(f));
memset(stone,0,sizeof(int));
scanf("%d%d%d",&s,&t,&m);
while (m--)
{scanf("%d",&temp);
stone[temp]=1;}
}
void calc()
{
int mi,ma,i,j,temp;
f[0]=0;
for (i=1;i<=l;i++)
{
temp=100001;
mi=i-t;ma=i-s;if (mi<0) mi=0;if(ma<0) ma=-1;
for (j=mi;j<=ma;j++) if (f[j]!=-1&&temp>f[j]) temp=f[j];
if (temp!=100001) f[i]=temp+stone[i];
}
}
int main()
{
while (scanf("%d",&l)!=EOF)
{
scan();
calc();
printf("%d\n",f[l]);
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -