Cod sursa(job #1550061)

Utilizator KOzarmOvidiu Badea KOzarm Data 13 decembrie 2015 09:42:37
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#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;
}