Cod sursa(job #2735109)

Utilizator davidbejenariu2David Bejenariu davidbejenariu2 Data 1 aprilie 2021 20:18:43
Problema Loto Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>

using namespace std;

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

int n, S;
vector <int> v(100);
unordered_map <int, pair <int, int>> mp;

int main()
{
    int i, j, k;

    fin >> n >> S;

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

    fin.close();

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

    for (i = 0; i < n; ++i)
        for (j = 0; j < n; ++j)
            for (k = 0; k < n; ++k)
            {
                if (mp.find(S - v[i] - v[j] - v[k]) != mp.end())
                {
                    fout << v[i] << ' ' << v[j] << ' ' << v[k] << ' ' << mp[S - v[i] - v[j] - v[k]].first << ' '
                         << mp[S - v[i] - v[j] - v[k]].second << ' ' << S - v[i] - v[j] - v[k] - mp[S - v[i] - v[j] - v[k]].first - mp[S - v[i] - v[j] - v[k]].second;

                    return 0;
                }
            }

    fout << -1;
    fout.close();

    return 0;
}