Pagini recente » Cod sursa (job #300834) | Cod sursa (job #1191830) | Cod sursa (job #131942) | Cod sursa (job #672546) | Cod sursa (job #467005)
Cod sursa(job #467005)
#include <cstdio>
#include <ctime>
#include <cstdlib>
#include <bitset>
using namespace std;
#define N 1000010
#define M 9901
int n,m,k;
bitset< N > e;
short a[N];
inline void citire()
{
scanf("%d%d%d",&n,&m,&k);
int x;
for(int i=0; i<m; ++i)
{
scanf("%d",&x);
e[x]=1;
}
}
inline void rezolva()
{
a[0]=1;
for(int i=1; i<=n; ++i)
{
a[i]=0;
if(e[i-1]==0)
a[i]=a[i-1];
if(i-k>=0)
{
if(e[i-k]==0)
a[i]+=a[i-k];
}
if(a[i]>=M)
a[i]-=M;
}
printf("%hd\n",a[n]);
}
int main()
{
freopen("pod.in","r",stdin);
freopen("pod.out","w",stdout);
citire();
if(n>N)
exit(4);
rezolva();
return 0;
}