Pagini recente » Cod sursa (job #1436397) | Cod sursa (job #2769957) | Cod sursa (job #2938613) | Cod sursa (job #2500780) | Cod sursa (job #1895636)
#include <bits/stdc++.h>
#define Nmax 102
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct Loto
{
int i, j, k;
};
int N, S;
int A[Nmax];
map<int, Loto>M;
int i, j, k;
int main()
{
fin >> N >> S;
for(i = 1; i <= N; i++)
fin >> A[i];
sort(A + 1, A + N + 1);
for(i = 1; i <= N; i++)
for(j = i; j <= N; j++)
for(k = j; k <= N && A[i] + A[j] + A[k] <= S; k++)
M[A[i] + A[j] + A[k]] = {i, j, k};
for(i = 1; i <= N; i++)
for(j = i; j <= N; j++)
for(k = j; k <= N && A[i] + A[j] + A[k] < S; k++)
if(M.find(S - A[i] - A[j] - A[k]) != M.end())
{
Loto sol = M[S - A[i] - A[j] - A[k]];
fout << A[i] << " " << A[j] << " " << A[k] << " " << A[sol.i] << " " << A[sol.j] << " " << A[sol.k] << "\n";
return 0;
}
fout << "-1\n";
return 0;
}