Cod sursa(job #2891790)

Utilizator PatrascuAdrian1Patrascu Adrian Octavian PatrascuAdrian1 Data 19 aprilie 2022 21:31:08
Problema Loto Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <bits/stdc++.h>

using namespace std;

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

const int Nmax = 1e6 + 5;

int main()
{
    int N, S;
    in >> N >> S;
    int A[N + 1];
    for(int i = 1; i <= N; ++i)
    {
        in >> A[i];
    }
    unordered_set<int> H(Nmax);
    for(int i = 1; i <= N; ++i)
        for(int j = 1; j <= N; ++j)
            for(int k = 1; k <= N; ++k)
                H.insert(A[i] + A[j] + A[k]);
    for(int i = 1; i <= N; ++i)
        for(int j = 1; j <= N; ++j)
            for(int k = 1; k <= N; ++k)
            {
                int S_cur = S - A[i] - A[j] - A[k];
                if(H.find(S_cur) != H.end())
                {
                    for(int ii = 1; ii <= N; ++ii)
                        for(int jj = 1; jj <= N; ++jj)
                            for(int kk = 1; kk <= N; ++kk)
                                if(A[ii] + A[jj] + A[kk] == S_cur)
                                {
                                    out << A[i] << " " << A[j] << " " << A[k] << " " << A[ii] << " " << A[jj] << " " << A[kk] << '\n';
                                    return 0;
                                }
                }
            }
    out << -1;
    return 0;
}