Cod sursa(job #3243049)

Utilizator User-77-Stancu Andreas User-77- Data 15 septembrie 2024 13:33:51
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.93 kb
#include <iostream>

using namespace std;
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(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;
}