Pagini recente » Cod sursa (job #2276807) | Cod sursa (job #159470) | Cod sursa (job #544591) | Cod sursa (job #51453) | Cod sursa (job #1837933)
#include <iostream>
#include <cstdio>
using namespace std;
int n,m,k;
int a[21];
int pozcrt,nxt;
int main()
{
int i;
freopen("pod.in","r",stdin);
freopen("pod.out","w",stdout);
scanf("%d%d%d",&n,&m,&k);
a[0]=1;
pozcrt=1;
if(m) { scanf("%d",&nxt); m--; }
for(;pozcrt<k;pozcrt++)
if(pozcrt !=nxt) a[pozcrt]=a[pozcrt-1];
else if(m)
{
m--;
scanf("%d",&nxt);
a[pozcrt]=0;
}
a[pozcrt]=a[pozcrt-1]+a[pozcrt-k];
pozcrt++;
i=1;
for(;pozcrt<=n;pozcrt++,i++)
{
if(pozcrt!=nxt)
{
if(i==1) a[i]+=a[k];
else a[i]+=a[i-1];
if(a[i]>9901) a[i]-=9901;
}
else if(m)
{
m--;
scanf("%d",&nxt);
a[i]=0;
}
if(i==k) i=0;
}
i--;
if(i==0) i=k;
printf("%d\n",a[i]);
fclose(stdin);
fclose(stdout);
return 0;
}