Cod sursa(job #3355992)

Utilizator CarenaMironov Cezar Luca Carena Data 28 mai 2026 17:44:44
Problema Loto Scor 65
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <fstream>
#include <unordered_set>
#include <cassert>
#define int long long

using namespace std;

ifstream in("loto.in");
ofstream out("loto.out");

const int NMAX=1e2+5;
int n, s, v[NMAX];
unordered_set<int> sum3;


signed main()
{
    in>>n>>s;
    for(int i=1;i<=n;i++)
        in>>v[i];
    
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            for(int k=1;k<=n;k++)
                sum3.insert(v[i]+v[j]+v[k]);
    
    int hsum=-1;
    for(auto x:sum3)
        if(sum3.find(s-x)!=sum3.end())
        {
            hsum=x;
            break;
        }
    assert(hsum!=-1);
    if(hsum==-1)
    {
        out<<-1;
        return 0;
    }
        
    bool ok1=0, ok2=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            for(int k=1;k<=n;k++)
                if(!ok1 && v[i]+v[j]+v[k]==hsum)
                {
                    out<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
                    ok1=1;
                }
                else if(!ok2 && v[i]+v[j]+v[k]==s-hsum)
                {
                    out<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
                    ok2=1;
                }
    return 0;
}