Cod sursa(job #2895856)

Utilizator ScoveargaIlie Andrei-Virgil Scovearga Data 29 aprilie 2022 15:36:00
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.15 kb
#include <iostream>
#include <fstream>
#include <unordered_map>

using namespace std;

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

int i, j, k, N, S, numerePosibile[101], sumaJumate;
unordered_map<int, tuple<int, int, int>> combinatie;

int main()
{
    f>>N>>S;
    for (i = 0; i < N; ++i)
        f>>numerePosibile[i];
    for(i = 0; i < N; ++i)
        for(j = i; j < N; ++j)
            for(k = j; k < N; ++k)
                combinatie[numerePosibile[i] + numerePosibile[j] + numerePosibile[k]] = make_tuple(i,j,k);
    for(i = 0; i < N; ++i)
        for(j = i; j < N; ++j)
            for(k = j; k < N; ++k)
            {
                sumaJumate = S - numerePosibile[i] - numerePosibile[j] - numerePosibile[k];
                if(combinatie.find(sumaJumate) != combinatie.end())
                {
                    tuple<int, int, int> tupluAux = combinatie[sumaJumate];
                    g<<numerePosibile[i]<<" "<<numerePosibile[j]<<" "<<numerePosibile[k]<<" "<<numerePosibile[get<0>(tupluAux)]<<" "<<numerePosibile[get<1>(tupluAux)]<<numerePosibile[get<2>(tupluAux)];
                    return 0;
                }
            }
    g<<-1;
    return 0;
}