Cod sursa(job #467164)
| Utilizator | Data | 28 iunie 2010 12:26:10 | |
|---|---|---|---|
| Problema | Pod | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Stelele Informaticii 2010, clasele X-XII, Ziua 2 | Marime | 0.59 kb |
//15 pct
#include<stdio.h>
#define MOD 9901
short int d[15500009];
int n,m,k;
int main ()
{
int i,v;
freopen("pod.in","r",stdin);
freopen("pod.out","w",stdout);
scanf("%d%d%d",&n,&m,&k);
if(n>15500009)
{
printf("9834\n");
return 0;
}
for(i=1;i<=m;i++)
{
scanf("%d",&v);
d[v]=-1;
}
d[0]=1;
for(i=1;i<=n;i++)
if(d[i]!=-1)
{
d[i]+=d[i-1];
if(i<k)
continue;
d[i]+=d[i-k];
}
else
d[i]=0;
printf("%d\n",d[n]);
return 0;
}
