Cod sursa(job #3261120)

Utilizator Cyb3rBoltSbora Ioan-David Cyb3rBolt Data 4 decembrie 2024 16:35:06
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>

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

struct trio {
    ///cine stie cunoaste
    int x, y, z;
    void afis() { fout << x << " " << y << " " << z; }
};
unordered_map<int, trio> mapa;
int n, sum, v[110];

int main()
{
    fin >> n >> sum;
    for(int i=1; i<=n; i++) fin >> v[i];
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            for(int k=1; k<=n; k++) mapa[v[i] + v[j] + v[k]] = {v[i], v[j], v[k]};
    for(int i=1; i<=n; i++) {
        for(int j=1; j<=n; j++) {
            for(int k=1; k<=n; k++) {
                int x = sum - (v[i] + v[j] + v[k]);
                if(mapa.find(x) != mapa.end()) {
                    fout << v[i] << " " << v[j] << " " << v[k] << " ";
                    mapa[x].afis();
                    return 0;
                }
            }
        }
    }
    fout << -1;

    return 0;
}