Pagini recente » Cod sursa (job #998280) | Cod sursa (job #861384) | Cod sursa (job #2336181) | Cod sursa (job #2744574) | Cod sursa (job #1832642)
#include <fstream>
#include <deque>
#define N 9901
using namespace std;
int v[1000];
void quick(int l,int r)
{
int p,aux,i,j;
j=l-1;
p=v[r];
for(i=l;i<=r;i++)
{
if(v[i]<p)
{
j++;
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
}
if(l<j-1)
{
quick(l,j-1);
}
if(j+1<r)
{
quick(j+1,r);
}
}
int main()
{
ifstream in("pod.in");
ofstream out("pod.out");
int n,m,k,i,j=0;
in>>n>>m>>k;
for(i=0;i<m;i++)
{
in>>v[i];
}
quick(0,m-1);
deque<int>d;
d.push_back(1);
for(i=1;i<k;i++)
{
if(j<m && i==v[j])
{
d.push_back(0);
j++;
}
else
{
d.push_back(d.back());
}
}
for(;i<=n;i++)
{
if(j<m && i==v[j])
{
d.push_back(0);
d.pop_front();
j++;
}
else
{
d.push_back((d.front()+d.back())%N);
d.pop_front();
}
}
out<<d.back();
return 0;
}