Cod sursa(job #2746840)

Utilizator izotova_dIzotova Daria izotova_d Data 28 aprilie 2021 16:36:05
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>

using namespace std;

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

unordered_map<int, tuple<int, int, int>> sumMap;
vector<int> values;
int N, S;
int number;

int main()
{
    fin >> N >> S;

    for (int i = 0; i < N; i++)
    {
        fin >> number;
        values.push_back(number);
    }

    int size = values.size();

    for (int i = 0; i < size; i++)
    {
        for (int j = i; j < size; j++)
        {
            for (int k = j; k < size; k++)
            {
                int currentSum = values[i] + values[j] + values[k];
                sumMap[currentSum] = make_tuple(values[i], values[j], values[k]);

                if (sumMap.find(S - currentSum) != sumMap.end())
                {
                    fout << get<0>(sumMap[currentSum]) << " " << get<1>(sumMap[currentSum]) << " " << get<2>(sumMap[currentSum]) << " ";
                    fout << get<0>(sumMap[S - currentSum]) << " " << get<1>(sumMap[S - currentSum]) << " " << get<2>(sumMap[S - currentSum]);
                    return 0;
                }
            }
        }
    }

    fout << -1;

}