Cod sursa(job #2510766)

Utilizator ArdeleanOficialAlexandru ArdeleanOficial Data 17 decembrie 2019 12:34:19
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <unordered_map>

using namespace std;

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

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

int v[109];

unordered_map < int, MyTriplet > mys;

int main()
{
    int n;
    int s;
    fin >> n >> s;
    for (int i = 1; i <= n; ++i)
        fin >> v[i];
    for (int i = 1; i <= n; ++i)
        for (int j = 1; j <= n; ++j)
            for (int k = 1; k <= n; ++k)
                mys[v[i] + v[j] + v[k]] = MyTriplet { i, j, k };
    for (int i = 1; i <= n; ++i)
        for (int j = 1; j <= n; ++j)
            for (int k = 1; k <= n; ++k)
                if (mys.find(s - v[i] - v[j] - v[k]) != mys.end())
                    return fout << i << ' ' << j << ' ' << k << ' ' << mys[s - v[i] - v[j] - v[k]].i1 << ' ' << mys[s - v[i] - v[j] - v[k]].i2 << ' ' << mys[s - v[i] - v[j] - v[k]].i3, 0;
    fout << -1;
    return 0;
}