Cod sursa(job #3129287)

Utilizator DevCrutCorolevschi Mihai DevCrut Data 13 mai 2023 20:09:47
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.3 kb
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,f16c,fma,sse3,ssse3,sse4.1,sse4.2") 

#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>

using namespace std;

ifstream myIn("loto.in");
ofstream myOut("loto.out");

unordered_map<int, vector<int>> hashTable;
vector<int> elems;

int main() {
    ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);

    int n, s;
    myIn >> n >> s;
    elems.resize(n);
    for (int i = 0; i < n; ++i)
        myIn >> elems[i];

    for (int i = 0; i < n; ++i)
        for (int j = 0; j < n; ++j)
            for (int h = 0; h < n; ++h) {
                hashTable[elems[i] + elems[j] + elems[h]] = { elems[i] ,elems[j] ,elems[h] };
            }

    for (int i = 0; i < n; ++i)
        for (int j = 0; j < n; ++j)
            for (int h = 0; h < n; ++h) {
                int sum1 = elems[i] + elems[j] + elems[h];
                int sum2 = s - sum1;
                if (hashTable.find(sum2) != hashTable.end()) {
                    vector<int> sec = hashTable[sum2];
                    myOut << elems[i] << ' ' << elems[j] << ' ' << elems[h] << ' ' << sec[0] << ' ' << sec[1] << ' ' << sec[2];
                    return 0;
                }
            }

    myOut << -1;
    return 0;
}