Cod sursa(job #2892180)

Utilizator Tudose_StefanTudose Alexandru Stefan Tudose_Stefan Data 21 aprilie 2022 00:26:22
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <fstream>
#include <unordered_map>
#include <vector>
#include <algorithm>

using namespace std;

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

unordered_map <int, pair<int, int>> sume;
vector <int> rez(6);
int nrBile, sum, i, j, k, sumacurenta, elem1, elem2, bile[101];
pair <int, int> haide;

int main()
{
    fin >> nrBile >> sum;
    for (i = 0; i < nrBile; i++)
        fin >> bile[i];
    for (i = 0; i< nrBile; i++)
        for (j = i; j < nrBile; j++)
        {
            haide = make_pair(bile[i], bile[j]);
            for (k = j; k < nrBile; k++)
                sume[bile[i]+bile[j]+bile[k]] = haide;
        }
    for (i = 0; i< nrBile; i++)
        for (j = i; j < nrBile; j++)
            for (k = j; k < nrBile; k++)
                if (sume.find(sum-bile[i]-bile[j]-bile[k]) != sume.end())
                {
                    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;
}