Cod sursa(job #2782830)

Utilizator UnknownPercentageBuca Mihnea-Vicentiu UnknownPercentage Data 13 octombrie 2021 10:35:30
Problema Loto Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <bits/stdc++.h>

using namespace std;

inline void Open(const string Name) {
    #ifndef ONLINE_JUDGE
        (void)!freopen((Name + ".in").c_str(), "r", stdin);
        (void)!freopen((Name + ".out").c_str(), "w", stdout);
    #endif
}

unordered_map <int, vector <int>> H;

int v[101];
int N, S;

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

    Open("loto");

    cin >> N >> S;
    for(int i = 1;i <= N;i++)
        cin >> v[i];

    for(int i = 1;i <= N;i++)
        for(int j = 1;j <= N;j++)
            for(int k = 1;k <= N;k++)
                H[v[i] + v[j] + v[k]] = {v[i], v[j],  v[k]};

    for(int i = 1;i <= N;i++)
        for(int j = 1;j <= N;j++)
            for(int k = 1;k <= N;k++)
                if(H.find(S - (v[i] + v[j] + v[k])) != H.end()) {
                    for(int &it : H[S - (v[i] + v[j] + v[k])])
                        cout << it << " ";

                    cout << v[i] <<  " " << v[j] << " " << v[k];
                    return 0;
                }

    cout << -1;
    
    return 0;
}