Cod sursa(job #2774354)

Utilizator Dragono63Stanciu Rares Stefan Dragono63 Data 11 septembrie 2021 12:57:00
Problema Loto Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <fstream>
#include <unordered_map>
#define NMAX 105

using namespace std;

/***********************************/
/// INPUT / OUTPUT

ifstream f("loto.in");
ofstream g("loto.out");
/***********************************/
/// GLOBAL DECALARATIONS

int N, S;
int numbers[NMAX];

struct Triplet
{
    int i, j, k;
};

unordered_map < int, Triplet > mapa;

/***********************************/
/// FUNCTIONS

/***********************************/
int main()
{
    f >> N >> S;
    for (int i = 1 ; i <= N ; ++ i)
        f >> numbers[i];
    for (int i = 1 ; i <= N ; ++ i)
    {
        for (int j = 1 ; j <= N ; ++ j)
        {
            for (int k = 1 ; k <= N ; ++ k)
            {
                int sum = numbers[i] + numbers[j] + numbers[k];
                
                Triplet triplet = {numbers[i], numbers[j], numbers[k]};
                mapa[sum] = triplet;

                if (mapa.find(S - sum) != mapa.end())
                {
                    g << mapa[S - sum].i << " " << mapa[S - sum].j << " " << mapa[S - sum].k << " " << triplet.i << " " << triplet.j << " " << triplet.k << "\n";
                    return 0;
                }
            }
        }
    }
    g << "-1";
    return 0;
}