Pagini recente » Cod sursa (job #2541605) | Cod sursa (job #1531404) | Cod sursa (job #992239) | Cod sursa (job #335423) | Cod sursa (job #467198)
Cod sursa(job #467198)
using namespace std;
#include<fstream>
const int mod = 9901;
int dp[1000007], K, N, M;
char viz[1000007];
ofstream out("pod.out");
int main()
{
ifstream in("pod.in");
in>>N>>M>>K;
int i, x;
if( N == 0 ) { out<<"1\n"; return 0; }
for(i = 1; i <= M; ++i)
{
in>>x;
viz[x] = 1;
}
if( viz[N] || viz[0] || ( viz[1] && viz[K] ) ) { out<<"0\n"; return 0; }
dp[0] = 1;
for(i = 1; i <= N; ++i)
{
if( viz[i] ) continue;
dp[i] = dp[i-1];
if( i - K >= 0 ) dp[i] = ( dp[i] + dp[i-K] ) % mod;
}
out<<dp[N]<<"\n";
return 0;
}