Pagini recente » Cod sursa (job #1505967) | Cod sursa (job #2193528) | Cod sursa (job #2081) | Cod sursa (job #2111109) | Cod sursa (job #467232)
Cod sursa(job #467232)
#include <cstdio>
#include <algorithm>
using namespace std;
#define X 9901
int v[1010], a[27], 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;
p=1;
for (i=1; i<=m; i++) scanf ("%d",&v[i]);
sort(v+1,v+m+1);
if (!n)
{
printf("1\n");
return 0;
}
if (k==1)
{
if (!m) printf("1\n"); else printf("0\n");
return 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]+a[p-k]);
a[p]=a[p]-a[p]/X*X;
}
}
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]);
}