Cod sursa(job #2924336)

Utilizator cristian_vergelea@yahoo.comVergelea Gabriel Cristian [email protected] Data 29 septembrie 2022 20:44:02
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct T {int unu, doi, trei;};
unordered_map<int, T> h;
vector<int> a;
int n, s;

void Citire()
{
    int i, x;
    fin >> n >> s;
    for(i = 1; i <= n; i++)
    {
        fin >> x;
        a.push_back(x);
    }
}

void Rezolvare()
{
    int i, j, k, suma;
    for(i = 0; i < (int)a.size(); i++)
        for(j = 0; j < (int)a.size(); j++)
            for(k = 0; k < (int)a.size(); k++)
            {
                suma = a[i] + a[j] + a[k];
                h[suma] = T{a[i], a[j], a[k]};
            }

    for(auto i : h)
    {
        auto poz = h.find(s - i.first);
        if(poz != h.end())
        {
            fout << i.second.unu << " " << i.second.doi << " " << i.second.trei << " "
            << poz->second.unu << " " << poz->second.doi << " " << poz->second.trei << "\n";
            return;
        }
    }
    fout << -1;
}
int main()
{
    Citire();
    Rezolvare();
    fin.close();
    fout.close();
    return 0;
}