Cod sursa(job #3142110)

Utilizator al3x.unxUngureanu Alex al3x.unx Data 19 iulie 2023 11:52:43
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>
#include <unordered_map>
using namespace std;

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

typedef struct {
    int t1;
    int t2;
    int t3;
} sol;

int sir[105] = {0};
unordered_map<int, sol> sume;

int main() {
    int n, s;
    fin >> n >> s;

    for (int i = 1; i <= n; i++) {
        fin >> sir[i];
    }

    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            for (int k = 1; k <= n; k++) {
                sume[sir[i] + sir[j] + sir[k]] = {sir[i], sir[j], sir[k]};
            }
        }
    }

    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            for (int k = 1; k <= n; k++) {
                if (sume.count(s - sir[i] - sir[j] - sir[k]) > 0) {
                    sol t = sume[s - sir[i] - sir[j] - sir[k]];
                    fout << sir[i] << " " << sir[j] << ' ' << sir[k] << ' ' << t.t1 << ' ' << t.t2 << ' ' << t.t3;
                    return 0;
                }
            } 
        }
    }

    fout << -1;
    return 0;
}