Cod sursa(job #2896046)

Utilizator RosianuRobertRosianu Robert RosianuRobert Data 29 aprilie 2022 19:24:22
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <bits/stdc++.h>
using namespace std;

ifstream f("loto.in");
ofstream g("loto.out");
int v[1001],n,s,i,j,k,val,dif;
struct top
{
    int v[3];
};
unordered_map <int, top> hx;
int main()
{
    f >> n >> s;
    for(i = 1; i <= n; i++)
        f >> v[i];
    for(i = 1; i <= n; i++)
        for(j = i; j <= n; j++)
            for(k = j; k <= n; k++)
            {
                val = v[i] + v[j] + v[k];
                if(hx.find(val) == hx.end() && val <= s)
                {
                    hx[val].v[0] = i;
                    hx[val].v[1] = j;
                    hx[val].v[2] = k;
                }
                dif = s - val;
                if(dif >= 0 && hx.find(dif) != hx.end())
                {
                    g << v[hx[dif].v[0]] << ' ' << v[hx[dif].v[1]] << ' ' << v[hx[dif].v[2]] << ' ' << v[i] << ' ' << v[j] << ' '<< v[k] << '\n';
                    return 0;
                }
            }
    g << -1 << endl;
    return 0;
}