Cod sursa(job #930202)

Utilizator VladMSBonta vlad valentin VladMS Data 27 martie 2013 14:51:22
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.55 kb
#include <fstream>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int i,n,v[101],k,rez[7],j,ok;
long long s,suma;
int main()
{
    fin>>n>>s;
    for(i=1;i<=n;++i)
        fin>>v[i];
    if(v[n]*6<s)
        fout<<-1;
    else
        {
            for(i=n;i>=0;--i)
                {
                    if(suma==s&&k==6)
                    {
                        for(j=6;j>=1;--j)
                            fout<<rez[j]<<" ";
                        return 0;
                    }
                    if(suma==s&&k!=6)
                        {
                            suma-=rez[k];
                            rez[k--]=0;
                        }
                    ok=0;
                    while(suma<s&&k<6)
                    {
                        rez[++k]=v[i];
                        suma+=v[i];
                        ok=1;
                    }
                    if(ok==0)
                    {
                        while(suma>s)
                        {
                            suma-=rez[k];
                            suma+=v[i];
                            rez[k--]=v[i];
                            ok++;
                        }
                        k+=ok;
                        while(suma<s&&k<6)
                        {
                            rez[++k]=v[i];
                            suma+=v[i];
                            ok=1;
                        }
                    }



                }
        }
    fout<<-1;\
    return 0;
}