Pagini recente » Cod sursa (job #1709250) | Cod sursa (job #63354) | Cod sursa (job #993113) | Cod sursa (job #3254841) | Cod sursa (job #467321)
Cod sursa(job #467321)
using namespace std;
#include<fstream>
const int mod = 9901;
short int dp[1000007];
int K, N, M;
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;
dp[x] = -1;
}
if( dp[N] == -1 || dp[0] == -1 || ( dp[1] == -1 && dp[K] == -1 ) ) { out<<"0\n"; return 0; }
dp[0] = 1;
for(i = 1; i <= N; ++i)
{
if( dp[i] == -1 ) continue;
if( dp[i-1] != -1) dp[i] = dp[i-1];
if( i - K >= 0 && dp[i-K] != -1) dp[i] = ( dp[i] + dp[i-K] ) % mod;
}
out<<dp[N]<<"\n";
return 0;
}