Cod sursa(job #3136836)

Utilizator darius1843Darius Suditu darius1843 Data 8 iunie 2023 21:03:13
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
#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 i1 = 0; i1 < n; i1++) {
        for (int i2 = 0; i2 < n; i2++) {
            for (int i3 = 0; i3 < n; i3++) {
                long long sum = loto[i1] + loto[i2] + loto[i3];
                sol[sum] = { loto[i1], loto[i2], loto[i3] };
                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;
}