Pagini recente » Cod sursa (job #9930) | Cod sursa (job #981229) | Cod sursa (job #1668708) | Cod sursa (job #2592452) | Cod sursa (job #467065)
Cod sursa(job #467065)
#include<algorithm>
using namespace std;
#define DIM 1005
#define DIM2 30
#define MOD 9901
int n,m,k,a[DIM],b[25];
inline int mod (int x)
{
while(x>=MOD)
x-=MOD;
return x;
}
char buff[DIM2];
int poz;
inline void pars (int &nr)
{
nr=0;
while(buff[poz]<'0' || buff[poz]>'9')
if(++poz==DIM2)
fread(buff,1,DIM,stdin),poz=0;
while(buff[poz]>='0' && buff[poz]<='9')
{
nr=nr*10+buff[poz]-'0';
if(++poz==DIM2)
fread(buff,1,DIM,stdin),poz=0;
}
}
int main ()
{
freopen("pod.in","r",stdin);
freopen("pod.out","w",stdout);
int i;
pars(n);
pars(m);
pars(k);
for(i=1;i<=m;++i)
pars(a[i]);
sort(1+a,1+a+m);
b[0]=1;
for(i=1;i<=n;++i)
if(!binary_search(1+a,1+a+m,i))
b[i%k]=mod(b[(i-1)%k]+b[(i-k)%k]);
else
b[i%k]=0;
printf("%d",mod(b[n%k]));
return 0;
}