Pagini recente » Cod sursa (job #2323631) | Cod sursa (job #2830252) | Cod sursa (job #2794258) | Cod sursa (job #3208720) | Cod sursa (job #2911298)
#include <fstream>
#include <iostream>
#include <algorithm>
#include <unordered_map>
#define nl '\n'
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n, s, a[110], ksp;
long long int sp[1001000];
struct ind
{
int ind1, ind2, ind3;
};
unordered_map<int, ind> x;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
fin >> n >> s;
for (int i = 1; i <= n; i++)
fin >> a[i];
for (int i = 1; i <= n; i++)
for (int j = i; j <= n; j++)
for (int k = j; k <= n; k++)
{
if (a[i]+a[j]+a[k] <= s && x.find(a[i]+a[j]+a[k]) == x.end())
{
ind y;
y.ind1 = i;
y.ind2 = j;
y.ind3 = k;
x[a[i]+a[j]+a[k]] = y;
sp[++ksp] = a[i]+a[j]+a[k];
}
}
for (int i = 1; i <= ksp; i++)
{
if (x.find(s-sp[i]) != x.end())
{
ind f = x[sp[i]], g = x[s-sp[i]];
fout << a[f.ind1] << ' ' << a[f.ind2] << ' ' << a[f.ind3] << ' ' << a[g.ind1] << ' ' << a[g.ind2] << ' ' << a[g.ind3];
return 0;
}
}
fout << -1;
return 0;
}