Pagini recente » Cod sursa (job #398204) | Cod sursa (job #416641) | Cod sursa (job #2357741) | Cod sursa (job #1951627) | Cod sursa (job #568860)
Cod sursa(job #568860)
#include<fstream>
#define inf "pod.in"
#define outf "pod.out"
#define NMax 1000100
#define MOD 9901
using namespace std;
fstream f(inf,ios::in),g(outf,ios::out);
int N, M, K;
int A[NMax];
void read()
{
f>>N>>M>>K; int j;
for(int i=1; i<=M; i++) { f>>j; A[j] = -1; }
}
void solve()
{
int st;
for(int i=1; i<=N; i++)
if( A[i]!=-1 ) { A[i] = 1; st = i+1; break; }
for(int i=st; i<=N; i++)
{
if( A[i]==-1 ) continue;
if( A[i-1]!=-1 ) A[i] += A[i-1];
if( i-K>=1 && A[i-K]!=-1 ) A[i] += A[i-K];
A[i] %= MOD;
}
g<< A[N];
}
int main()
{
read(); solve();
f.close(); g.close();
return 0;
}