Cod sursa(job #3132014)

Utilizator SabinaEEnache Sabina-Anca SabinaE Data 21 mai 2023 22:42:33
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>

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

int main()
{
    int n, s, nr;
    f >> n >> s;
    vector<int> numere;
    unordered_map<int,int[3]> sol;
    for (int i = 0; i < n; i++)
    {
        f >> nr;
        numere.push_back(nr);
    }
    bool gasit = false;
    for (int i = 0; i < n && gasit != true; i++)
    {
        for (int j = 0; j < n && gasit != true; j++)
        {
            for (int k = 0; k < n && gasit != true; k++)
            {
                sol[numere[i] + numere[j] + numere[k]][0] = numere[i];
                sol[numere[i] + numere[j] + numere[k]][1] = numere[j];
                sol[numere[i] + numere[j] + numere[k]][2] = numere[k];
                int minus = s - (numere[i] + numere[j] + numere[k]);
                if (sol.find(minus) != sol.end())
                {
                    g << numere[i] << " " << numere[j] << " " << numere[k] << " " << sol[minus][0] << " " << sol[minus][1] << " " << sol[minus][2];
                    gasit = true;
                }
            }
        }
    }
    if (gasit == false)
        g << -1;
    return 0;
}