Cod sursa(job #3243054)

Utilizator User-77-Stancu Andreas User-77- Data 15 septembrie 2024 13:39:36
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2.1 kb
#include <fstream>

using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
int n,s,minim,maxim,i;
int v[101];
int main()
{
    cin>>n>>s;
    minim=100000000;
    for(i=1;i<=n;i++)
    {
        cin>>v[i];
        if(v[i]<minim)
        {
            minim=v[i];
        }
        if(v[i]>maxim)
        {
            maxim=v[i];
        }
    }
    if(s>=minim*6 && s<=maxim*6)
    {
        int x=v[1];
        int j=1;
        int y=0;
        for(i=2;i<=n;i++)
        {
            if(v[i]*6>s)
            {
                y=(s-v[i]*6)*-1;
            }
            else
            {
                y=s-v[i]*6;
            }
            if(s<x*6)
            {
                if(y<(s-x*6)*-1)
                {
                    x=v[i];
                    j=i;
                }
            }
            else
            {
                if(y<s-x*6)
                {
                    x=v[i];
                    j=i;
                }
            }
        }
        int z=s-x*6;
        int x2=0;
        int nr=0;
        int verif=0;
        for(i=1;i<=n;i++)
        {
            if(v[i]!=x)
            {
                if(z%(v[i]-x)==0 && z/(v[i]-x)<=6)
                {
                    if(z<0 && v[i]-x<0)
                    {
                        x2=v[i];
                        nr=z/(x2-x);
                        verif=1;
                        break;
                    }
                    else if(z>0 && v[i]-x>0)
                    {
                        x2=v[i];
                        nr=z/(x2-x);
                        verif=1;
                        break;
                    }

                }
            }

        }
        if(verif==1)
        {
            for(i=1;i<=6-nr;i++)
            {
                cout<<x<<" ";
            }
            for(i=1;i<=nr;i++)
            {
                cout<<x2<<" ";
            }
        }
        else
        {
            cout<<"-1";
        }
    }
    else
    {
        cout<<"-1";
    }
    return 0;
}