Cod sursa(job #2894402)

Utilizator dfettiDaniel Fetti dfetti Data 27 aprilie 2022 19:50:24
Problema Loto Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <unordered_map>
#include <stack>
using namespace std;

#define MAX_N 100

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

struct triple 
{
    int x;
    int y;
    int z;
};

int N, S;
int A[MAX_N];
unordered_map<int, triple> M;

int main()
{
    fin >> N >> S;
    for (int i = 0; i < N; ++i)
            fin >> A[i];

    for (int i = 0; i < N; ++i)
        for (int j = 0; j < N; ++j)
            for (int k = 0; k < N; ++k)
            {
                M[A[i] + A[j] + A[k]] = triple{ A[i], A[j], A[k] };
            }

    for (auto a = M.begin(); a != M.end(); a++)
    {
        int rest = S - a->first;
        if (M.count(rest))
        {
            fout << a->second.x << ' '
                << a->second.y << ' '
                << a->second.z << ' '
                << M[rest].x << ' '
                << M[rest].y << ' '
                << M[rest].z << ' ';
            return 0;
        }
    }

    fout << "-1";

    return 0;
}