Cod sursa(job #2892170)

Utilizator Tudose_StefanTudose Alexandru Stefan Tudose_Stefan Data 21 aprilie 2022 00:09:01
Problema Loto Scor 65
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 1.15 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, elem1, elem2;

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.count(sum-bile[i]-bile[j]-bile[k]))
                {
                    sumacurenta = sum-bile[i]-bile[j]-bile[k];
                    elem1 = sume[sumacurenta].first;
                    elem2 = sume[sumacurenta].second;
                    fout << bile[i] << ' ' << bile[j] << ' ' << bile[k] << ' ' << elem1 << ' ' << elem2 << ' ' << sumacurenta-elem1-elem2;
                    return 0;
                }
    fout << -1;
    return 0;
}