Pagini recente » Cod sursa (job #78160) | Cod sursa (job #1078640) | Cod sursa (job #379505) | Cod sursa (job #470669) | Cod sursa (job #467214)
Cod sursa(job #467214)
#include <cstdio>
int v[1010], a[30], n, k, m;
int main()
{
freopen("pod.in","r",stdin);
freopen("pod.out","w",stdout);
scanf("%d %d %d",&n,&m,&k);
int i, p, c, j, t, d;
p=1;
for (i=1; i<=m; i++) scanf ("%d",&v[i]);
if (!n)
{
printf("1\n");
return 0;
}
if (k==1)
{
if (!m) printf("1\n"); else printf("0\n");
return 0;
}
if (k==1) k=0;
c=1;
p=1;
a[0]=1;
t=0;
for (i=1; i<=n; i++)
{
if (i==v[c]) c++; else
{
a[p]=a[p-1];
if (p>=k) a[p]+=a[p-k];
}
p++;
if (p==23)
{
t=1;
for (j=1; j<=22; j++) a[j]=a[j+1];
p=22;
}
}
printf("%d\n",a[p-1]);
}