Pagini recente » Cod sursa (job #1883573) | Cod sursa (job #108302) | Cod sursa (job #1225386) | Cod sursa (job #697894) | Cod sursa (job #467239)
Cod sursa(job #467239)
#include <iostream>
#include <fstream>
#define MOD 9901
using namespace std;
const char iname[] = "pod.in";
const char oname[] = "pod.out";
const int nmax = 1000005;
ifstream fin(iname);
ofstream fout(oname);
int N, K, M, j, F[nmax], Sc[nmax + 6], i, x;
int main()
{
fin >> N >> M >> K;
for(i = 1; i <= M; i ++)
{
fin >> x;
Sc[x] = 1;
}
if(!Sc[1])
{
F[1] = 1;
if(Sc[K] == 0 && K != 1)
F[K] = 2;
for(i = 2; i <= N; i ++)
if(Sc[i] == 0 && i != K)
F[i] = (F[i] + F[i - 1] + F[i - K]) % MOD;
}
else
{
F[K] = 1;
for(i = K + 1; i <= N; i ++)
if(Sc[i] == 0 && i - K > 0)
F[i] = (F[i] + F[i - 1] + F[i - K]) % MOD;
}
fout << F[N] % MOD;
return 0;
}