Cod sursa(job #1991606)

Utilizator leraValeria lera Data 17 iunie 2017 16:02:01
Problema Loto Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <bits/stdc++.h>
#include <fstream>
#define Nmax 105
#include <map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");

unordered_map<int, bool>m;
int N, S, a[Nmax];
int main()
{
    fin >> N >> S;
    for(int i = 1; i <= N; i++) fin >> a[i];
    for(int i = 1; i <= N; i++)
        for(int j = 1; j <= N; j++)
            for(int q = 1; q <= N; q++)
                m[a[i] + a[j] + a[q]]=1;
    for(int i = 1; i <= N; i++)
        for(int j = 1; j <= N; j++)
            for(int q = 1; q <= N; q++)
                if(m[S - a[i] - a[j] - a[q]] == 1)
                {
                    S = S - a[i] - a[j] - a[q];
                    fout << a[i] << " " << a[j] << " " << a[q] << " ";
                    for(int i = 1; i <= N; i++)
                        for(int j = 1; j <= N; j++)
                            for(int q = 1; q <= N; q++)
                                if(S == a[i] + a[j] + a[q])
                                {
                                    fout << a[i] << " " << a[j] << " " << a[q] << " ";
                                    return 0;
                                }
                }
    fout << -1;

    return 0;
}