Cod sursa(job #2871203)

Utilizator dacsaDacsa Petru dacsa Data 13 martie 2022 09:48:31
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.53 kb
#include <bits/stdc++.h>

#define int int_fast32_t

using namespace std;



ifstream in("loto.in");

ofstream out("loto.out");



struct elem
{

    int a,b,c;

    elem(int _a,int _b,int _c)
    {

        a=_a;

        b=_b;

        c=_c;

    }

    elem()
    {

        a=0;

    }

};



unordered_set<int> s;



int32_t main()
{

    int n,S;

    int v[101];

    in>>n>>S;

    for(int i=0; i<n; i++)in>>v[i];



    for(int i=0; i<n; i++)
    {

        for(int j=i; j<n; j++)
        {

            for(int k=j; k<n; k++)
            {

                s.insert(v[i]+v[j]+v[k]);

            }

        }

    }

    for(auto e:s)
    {

        if(s.find(S-e)!=s.end())
        {

            int res[6];

            for(int i=0; i<n; i++)for(int j=i; j<n; j++)for(int k=j; k<n; k++)
                    {

                        if(v[i]+v[j]+v[k]==e)
                        {

                            res[0]=v[i];

                            res[1]=v[j];

                            res[2]=v[k];

                        }

                        if(v[i]+v[j]+v[k]==S-e)
                        {

                            res[3]=v[i];

                            res[4]=v[j];

                            res[5]=v[k];

                        }

                    }

            sort(res,res+6);

            for(int i=0; i<6; i++)out<<res[i]<<' ';

            return 0;

        }

    }

    out<<-1;

}