Cod sursa(job #2924092)

Utilizator Luca_CristianZamfir Luca-Cristian Luca_Cristian Data 25 septembrie 2022 11:42:56
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <fstream>
#include <unordered_map>

using namespace std;

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

struct triplet
{
    int e1, e2, e3;
};

unordered_map <int, triplet> frec3;
const int MAXN = 101;
int v[MAXN];

int main()
{
    int n, s, i, j, k;
    fin >> n >> s;

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

    for(i = 1; i <= n; i++)
        for(j = i; j <= n; j++)
            for(k = j; k <= n; k++)
                frec3[v[i] + v[j] + v[k]] = {v[i], v[j], v[k]};

     bool ok = 0;
     i = 1;
     while(i <= n && ok == 0)
     {
        j = i;
        while(j <= n && ok == 0)
        {
            k = j;
            while(k <= n && ok == 0)
            {
                int rest = s - v[i] - v[j] - v[k];
                if(frec3[rest].e1 != 0)
                    fout << v[i] << " " << v[j] << " " << v[k] << " " << frec3[rest].e1 << " " << frec3[rest].e2 << " " << frec3[rest].e3 << '\n', ok = 1;
                k++;
            }
            j++;
        }
        i++;
     }
     if(!ok)
        fout << -1;



    return 0;
}