Pagini recente » Cod sursa (job #812911) | Cod sursa (job #1395301) | Cod sursa (job #2295343) | Cod sursa (job #1656407) | Cod sursa (job #467262)
Cod sursa(job #467262)
#include <algorithm>
#include <stdio.h>
#include <time.h>
using namespace std;
int n, m, k;
int sol[1000010], marc[1000010];
int main()
{
srand(time(0));
freopen("pod.in", "r", stdin);
freopen("pod.out", "w", stdout);
scanf("%d %d %d", &n, &m, &k);
for (int i = 1; i <= m; i++)
{
int x;
scanf("%d", &x);
marc[x] = 1;
}
sol[0] = 1;
for (int i = 0; i <= n; i++)
{
if (!marc[i + 1])
sol[i + 1] = (sol[i + 1] + sol[i]) % 9901;
if (!marc[i + k])
sol[i + k] = sol[i];
}
printf("%d\n", sol[n]);
fclose(stdin);
fclose(stdout);
return 0;
}