Cod sursa(job #3136835)

Utilizator darius1843Darius Suditu darius1843 Data 8 iunie 2023 20:59:19
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>

using namespace std;

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

int main() {


    int n;
    long long s;
    in >> n >> s;

    vector<long long> loto(n);
    unordered_map<long long, vector<long long>> sol;
    bool ans = false;

    for (int i = 0; i < n; i++)
        in >> loto[i];


    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            for (int k = 0; k < n; k++) {
                long long sum = loto[i] + loto[j] + loto[k];
                sol[sum] = { loto[i], loto[j], loto[k] };
                long long minus = s - sum;

                if (sol.count(minus)) {
                    out << sol[sum][0] << " " << sol[sum][1] << " " << sol[sum][2] << " " << sol[minus][0] << " " << sol[minus][1] << " " << sol[minus][2];
                    if (!ans) {
                        ans = true;
                        break;
                    }
                }
            }
            if (ans) {
                break;
            }
        }
        if (ans) {
            break;
        }
    }


    if (ans == false)
        out << -1;



    return 0;
}