Cod sursa(job #3345839)

Utilizator serbanbBrindescu Serban serbanb Data 11 martie 2026 13:18:35
Problema Loto Scor 55
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <fstream>
#include <unordered_map>

using namespace std;

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

struct sum
{
    int i1,i2,i3;
};

int n, S;
long long int v[105];
unordered_map<long long int, sum> m;

void precalculate3()
{
    for(int i = 0; i < n; ++i){
        for(int j = 0; j < n; ++j){
            for(int k = 0; k < n; ++k){
                sum Sum;
                long long int x;
                x = v[i] + v[j] + v[k];
                Sum.i1 = i;
                Sum.i2 = j;
                Sum.i3 = k;
                m[x] = Sum;
            }
        }
    }
}

void generate3()
{
    for(int i = 0; i < n; ++i){
        for(int j = 0; j < n; ++j){
            for(int k = 0; k < n; ++k){
                long long int x;
                x = v[i] + v[j] + v[k];
                if(v[m[S - x].i1] + v[m[S - x].i2] + v[m[S - x].i2] == S - x){
                    fout << v[i] << ' ' << v[j] << ' ' << v[k] << ' ' << v[m[S - x].i1] << ' ' << v[m[S - x].i2] << ' ' << v[m[S - x].i3];
                    return;
                }
            }
        }
    }
    fout << -1;
}

int main()
{
    fin >> n >> S;
    for(int i = 0; i < n; ++i){
        fin >> v[i];
    }
    precalculate3();
    generate3();
    return 0;
}