Cod sursa(job #2761135)

Utilizator razvanflorinPotcoveanu Florin-Razvan razvanflorin Data 30 iunie 2021 20:11:52
Problema Loto Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <tuple>
#include <vector>

using namespace std;

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

int n, s, x, suma, valori[101];

tuple<int, int, int> values;

unordered_map<int, tuple<int, int, int>> Hash;

bool stop = false, ok = true;

int main()
{

    f >> n >> s;

    for(int i = 0; i < n; i++)
    {
        f >> x;
        valori[i] = x;
    }

    for(int i = 0; i < n && stop == false; i++)
        for(int  j = i; j < n && stop == false; j++)
            for(int k = j; k < n && stop == false; k++)
            {
                suma = valori[i] + valori[j] + valori[k];

                values = make_tuple(valori[i], valori[j], valori[k]);

                Hash[suma] = values;

                if(Hash.find(s - suma) != Hash.end())
                {
                    g << valori[i] << " " << valori[j] << " " << valori[k] << " ";
                    g << get<0>(Hash[s - suma]) << " " << get<1>(Hash[s - suma]) << " " << get<2>(Hash[s - suma]);
                    ok = false;
                    stop = true;
                }
            }

    if(ok == false)
        g << "-1";
    return 0;
}