Pagini recente » Cod sursa (job #393264) | Cod sursa (job #467090)
Cod sursa(job #467090)
#include<fstream>
#include<deque>
#include<algorithm>
using namespace std;
long first,last,a,b,nr,x,n,m,k,v[1005],l[30];
deque<long> d;
deque<long>::iterator it;
int main()
{ifstream fin("pod.in");
fin>>n>>m>>k;
long i;
for(i=1;i<=m;++i)
fin>>v[i];
fin.close();
ofstream fout("pod.out");
sort(v+1,v+m+1);
long p=1;
if(m==0)
{ v[0]=-1;
p=0;
}
if(v[1]==v[p])
{++p;
d.push_back(0);
}
else
d.push_back(1);
for(i=2;i<=k-1;++i)
if(v[p]==v[i])
{last=d.back();
d.push_back(last);
++p;
}
else
{last=d.back();
d.push_back(last);
}
last=0;
if(k!=1)
{ last=d.back();
if(v[p]==k)
{++p;
d.push_back(last);
}
else
d.push_back(last+1);
}
for(i=k+1;i<=n;++i)
{if(v[p]==i)
{d.push_back(0);
d.pop_front();
++p;
}
else
{last=d.back();
first=d.front();
if(k==1)
last=0;
d.push_back((first+last)%9901);
d.pop_front();
}
}
fout<<d.back()<<'\n';
fout.close();
return 0;
}