Cod sursa(job #2895601)

Utilizator Teodor_AxinteAxinte Teodor-Ionut Teodor_Axinte Data 29 aprilie 2022 11:42:00
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <bits/stdc++.h>

using namespace std;

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

struct elemente {
    unsigned int x, y, z;
};

unsigned int n, s, x, val;
vector<unsigned int> v;
unordered_map<unsigned int, elemente> sume;

int main() {

    fin >> n >> s;
    for (unsigned int i = 1; i <= n; i++) {
        fin >> x;
        v.push_back(x);
    }

    for (unsigned int i = 0; i < n; i++)
        for (unsigned int j = i; j < n; j++)
            for (unsigned int k = j; k < n; k++)
                sume[v[i] + v[j] + v[k]] = {v[i], v[j], v[k]};

    for (unsigned int i = 0; i < n; i++)
        for (unsigned int j = i; j < n; j++)
            for (unsigned int k = j; k < n; k++) {
                int val = s - (v[i] + v[j] + v[k]);
                if (sume.count(val) > 0) {
                    fout << v[i] << " " << v[j] << " " << v[k] << " " << sume[val].x << " " << sume[val].y << " "
                         << sume[val].z << '\n';
                    exit(0);
                }
            }
    fout<<"-1";
    return 0;
}