Cod sursa(job #3163786)

Utilizator GhiciCineRazvan Dumitriu GhiciCine Data 1 noiembrie 2023 09:22:14
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>
#include <unordered_map>

using namespace std;

struct triplet {
    int x, y, z;;
};

unordered_map<int, triplet> m;
int v[100];

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

    int n, s;
    fin >> n >> s;

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

    for(int i = 0; i < n; i++) {
        for(int j = 0; j < n; j++) {
            for(int k = 0; k < n; k++) {
                int sum = v[i] + v[j] + v[k];
                triplet t = {v[i], v[j], v[k]};
                m[sum] = t;
            }
        }
    }

    for(int i = 0; i < n; i++) {
        for(int j = 0; j < n; j++) {
            for(int k = 0; k < n; k++) {
                int sum = v[i] + v[j] + v[k];
                int dif = s - sum;

                if(m.find(dif) != m.end()) {
                    triplet t = m[dif];
                    fout << t.x << " " << t.y << " " << t.z << " " << v[i] << " " << v[j] << " " << v[k] << "\n";
                    return 0;
                }
            }
        }
    }

    fout << "-1\n";
    return 0;
}