Cod sursa(job #2892169)

Utilizator Tudose_StefanTudose Alexandru Stefan Tudose_Stefan Data 21 aprilie 2022 00:05:58
Problema Loto Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <fstream>
#include <unordered_map>
#include <vector>

using namespace std;

ifstream fin("loto.in");
ofstream fout("loto.out");

unordered_map <int, pair<int, int>> sume;
vector <int> bile;
int nrBile, sum, i, j, k, sumacurenta;

int main()
{
    fin >> nrBile >> sum;
    bile.assign(nrBile, 0);
    for (i = 0; i < nrBile; i++)
        fin >> bile[i];
    for (i = 0; i< nrBile; i++)
        for (j = 0; j < nrBile; j++)
            for (k = 0; k < nrBile; k++)
                sume[bile[i]+bile[j]+bile[k]] = make_pair(bile[i], bile[j]);
    for (i = 0; i< nrBile; i++)
        for (j = 0; j < nrBile; j++)
            for (k = 0; k < nrBile; k++)
                if (sume.find(sum-bile[i]-bile[j]-bile[k]) != sume.end())
                {
                    sumacurenta = sum-bile[i]-bile[j]-bile[k];
                    fout << bile[i] << ' ' << bile[j] << ' ' << bile[k] << ' ' << sume[sumacurenta].first << ' ' << sume[sumacurenta].second << ' ' << sumacurenta-sume[sumacurenta].first -sume[sumacurenta].second;
                    return 0;
                }
    fout << -1;
    return 0;
}