Cod sursa(job #3122266)

Utilizator Traian_7109Traian Mihai Danciu Traian_7109 Data 18 aprilie 2023 13:24:23
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>
#include <unordered_map>

using namespace std;

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

struct numbers {
    int i1, i2, i3;
};

int a[105];
unordered_map<int, numbers> sums;

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

    for (short i = 1; i <= n; i++) fin>>a[i];

    for (short i = 1; i <= n; i++)
        for (short j = 1; j <= n; j++)
            for (short k = 1; k <= n; k++) {
                int sum = a[i]+a[j]+a[k];
                sums[sum] = {i, j, k};
            }

    for (short i = 1; i <= n; i++)
        for (short j = 1; j <= n; j++)
            for (short k = 1; k <= n; k++) {
                int left = s-(a[i]+a[j]+a[k]);

                if (sums.count(left)) {
                    fout<<a[i]<<' '<<a[j]<<' '<<a[k]<<' ';
                    fout<<a[sums[left].i1]<<' '<<a[sums[left].i2]<<' '<<a[sums[left].i3];
                    return 0;
                }
            }

    fout<<-1;
    return 0;
}