Cod sursa(job #3154612)

Utilizator matei.tudoseMatei Tudose matei.tudose Data 5 octombrie 2023 13:54:13
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;

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

int main()
{
    int n, s;
    fin >> n >> s;
    vector<int> v(n);
    for (int i = 0; i < n; ++i)
        fin >> v[i];
    unordered_map<int, vector<int>> mp;
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < n; ++j)
            for (int k = 0; k < n; ++k)
            {
                int sum = v[i] + v[j] + v[k];
                if (mp.find(sum) == mp.end())
                    mp[sum] = {v[i], v[j], v[k]};
            }
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < n; ++j)
            for (int k = 0; k < n; ++k)
            {
                int sum = v[i] + v[j] + v[k];
                if (sum <= s && mp.find(s - sum) != mp.end())
                {
                    vector<int> &tmp = mp[s - sum];
                    fout << v[i] << " " << v[j] << " " << v[k] << " " << tmp[0] << " " << tmp[1] << " " << tmp[2]
                         << "\n";
                    return 0;
                }
            }
    fout << "-1\n";
    return 0;
}