Cod sursa(job #2895844)

Utilizator ScoveargaIlie Andrei-Virgil Scovearga Data 29 aprilie 2022 15:23:32
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.13 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(numerePosibile[i], numerePosibile[j], numerePosibile[k]);
    for(i = 0; i < N; ++i)
        for(j = i; j < N; ++j)
            for(k = j; k < N; ++k)
            {
                sumaJumate = numerePosibile[i] + numerePosibile[j] + numerePosibile[k];
                if(combinatie.find(S - sumaJumate) != combinatie.end())
                {
                    g<<numerePosibile[i]<<" "<<numerePosibile[j]<<" "<<numerePosibile[k]<<" "<<get<0>(combinatie[S - sumaJumate])<<" "<<get<1>(combinatie[S - sumaJumate])<<get<2>(combinatie[S - sumaJumate]);
                    return 0;
                }
            }
    g<<-1;
    return 0;
}