Pagini recente » Cod sursa (job #680412) | Cod sursa (job #1866098) | Cod sursa (job #1419887) | Cod sursa (job #390399) | Cod sursa (job #467134)
Cod sursa(job #467134)
#include<stdio.h>
#define infile "pod.in"
#define outfile "pod.out"
long n,m,k;
long a[100000009];
void solve()
{
long nr=0,ok,i;
if(a[1]!=-1)
{
nr++;
a[1]++;
}
if(a[k]!=-1)
{
nr++;
a[k]++;
}
for(i=1;i<=n;i++)
{
if(a[i]>0)
{
ok=0;
if((a[i+1]!=-1)&&(i+1<=n))
{
ok=1;
a[i+1]++;
}
if((a[i+k]!=-1)&&(i+k<=n))
{
if(ok==1)
{
nr+=a[i];
nr%=9901;
}
a[i+k]++;
}
}
}
nr%=9901;
printf("%ld\n",nr);
}
void solvem()
{
long poz=0,q=1,nr=0;
while(poz+k<=n)
{
if(poz%k==0)
q++;
nr+=q;
nr%=9901;
poz++;
}
printf("%ld\n",nr);
}
void read()
{
long i,x;
scanf("%ld %ld %ld",&n,&m,&k);
for(i=1;i<=m;i++)
{
scanf("%ld",&x);
a[x]=-1;
}
if(m==0)
solvem();
else
solve();
}
int main()
{
freopen(infile,"r",stdin);
freopen(outfile,"w",stdout);
read();
fclose(stdin);
fclose(stdout);
return 0;
}