Cod sursa(job #2007253)

Utilizator rares_ciocieaRares Andrei Ciociea rares_ciociea Data 2 august 2017 12:58:49
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
long long v[1001],alese[7];
int main()
{
    long long n,nr=0,s,i,nrdemax,cs;
    bool ok=0;
    in>>n;
    in>>s;
    for(i=1;i<=n;i++)
    {
        in>>v[i];
    }
    sort(v+1,v+n+1);
    cs=s;
    for(i=1;i<=n&&ok==0;i++)
    {
        s=cs;
        nr=0;
        for(i=n;i>=1&&ok==0;i--)
        {
            nrdemax=s/v[i];

            if(i>1)
            if((s-nrdemax*v[i])/v[1]+nr+nrdemax!=6)
            {
                nrdemax--;
            }
            s-=nrdemax*v[i];
            for(int j=6-nr-nrdemax+1;j<=6-nr;j++)
                alese[j]=v[i];
            nr+=nrdemax;

        }
        if(nr==6)
            ok=1;
        else v[n]=0,n--;
    }
    if(ok==0)
        out<<-1;
    else
        for(i=1;i<=6;i++)
        out<<alese[i]<<" ";

    return 0;
}