Pagini recente » Cod sursa (job #269825) | Cod sursa (job #1690724) | Cod sursa (job #1160824) | Cod sursa (job #281263) | Cod sursa (job #1550061)
#include <fstream>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int b[666013],k,p,n,l,u,i,x;
struct burger
{
int x;int y;int z;
}a[666013];
void adauga(int x)
{
int c=x%666013;
int q=b[c];
bool ok=1;
while(q)
{
if(a[q].x==x)
{
ok=0;
a[q].z++;
break;
}
q=a[q].y;
}
if(ok==1)
{
a[++k].x=x;
a[k].y=b[c];
b[c]=k;
a[k].z=1;
}
}
int subsecv(int k,int l,int u,int i)
{
int s=1;
l--;
u--;
if(k-i>0&&u>0)
{
i++;
for(;i<=k;i++)
s=s*subsecv(k-1,l,u,i)*a[i].z;
}
else
s=a[i].z;
if(l<=0&&u>=0)
s=s*a[i].z;
return s;
}
int main()
{
p=666013;
fin>>n>>l>>u;
for(i=1;i<=n;i++)
{
fin>>x;
adauga(x);
}
fout<<subsecv(k,l,u,1);
return 0;
}