Cod sursa(job #2890396)

Utilizator tiberiusss26Titiriga Tiberiu Nicolae tiberiusss26 Data 15 aprilie 2022 14:28:53
Problema Loto Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;

ifstream f("loto.in");
ofstream g("loto.out");

struct triple {
    int i, j, k;
};

int main() {
    unordered_map<int, triple> hashh;
    vector<int> sol;
    int S, N, v[101];
    f>>N>>S;
    for (int i = 0; i < N; i++)
        f >> v[i];
    for (int i = 0; i < N; i++)
        for (int j = i; j < N; j++)
            for (int k = j; k < N; k++)
                hashh[v[i] + v[j] + v[k]] = {v[i], v[j], v[k]};
    for (int i = 0; i < N; i++){
        for (int j = i; j < N; j++){
            for (int k = j; k < N; k++) {
                if (hashh.count(S - (v[i] + v[j] + v[k]))) {
                    sol.push_back(v[i]);
                    sol.push_back(v[j]);
                    sol.push_back(v[k]);
                    sol.push_back(hashh[S - (v[i] + v[j] + v[k])].i);
                    sol.push_back(hashh[S - (v[i] + v[j] + v[k])].j);
                    sol.push_back(hashh[S - (v[i] + v[j] + v[k])].k);
                    break;
                }
            }
//            if(!sol.empty()) break;

        }
//        if(!sol.empty()) break;

    }

    if(!sol.empty()){
        for(auto it: sol){
            g<<it<<" ";
        }
    }
    else g<<-1;
}