Pagini recente » Borderou de evaluare (job #2895087) | Cod sursa (job #2442139) | Cod sursa (job #1380474) | Cod sursa (job #2650899) | Cod sursa (job #1896517)
#include <fstream>
#include <algorithm>
#define nn 1000000002
#define mm 1002
#define kk 22
using namespace std;
ifstream fin ("pod.in");
ofstream fout("pod.out");
int n,m,k,i,v[kk],j,p,d,rk[1010],nr;
#define x rk[nr]
int rr = 9901;
int main()
{
fin >> n >> m >> k ;
v[0]=1;
for (i=1;i<=m;++i)
{
fin >> rk[i];
}
sort (rk+1,rk+m+1);
nr=1;
for (i=1;i<=n;++i)
{
++d;
if (d>k) d=0;
v[d]=0;
if (x==i)
{
++nr;
continue;
}
p=d-1;
if (p<0) p=k;
v[d] = ( v[d]+(v[p]%rr) ) % rr;
p=d+1;
if (p>k) p=0;
v[d] = ( v[d]+(v[p]%rr) ) % rr;
}
fout << v[d];
return 0;
}