Cod sursa(job #467040)
Utilizator | Pavel Razvan PavelRazvan | Data | 28 iunie 2010 11:06:41 |
---|---|---|---|
Problema | Pod | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Stelele Informaticii 2010, clasele X-XII, Ziua 2 | Marime | 0.59 kb |
#include<algorithm>
using namespace std;
#define DIM 1005
#define MOD 9901
int n,m,k,a[DIM],b[25];
inline int mod (int x)
{
while(x>=MOD)
x-=MOD;
return x;
}
int main ()
{
freopen("pod.in","r",stdin);
freopen("pod.out","w",stdout);
int i;
scanf("%d%d%d",&n,&m,&k);
for(i=1;i<=m;++i)
scanf("%d",&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;
}