Pagini recente » Cod sursa (job #3192733) | Cod sursa (job #2059138) | Cod sursa (job #1242538) | Cod sursa (job #2470908) | Cod sursa (job #2954413)
#include <fstream>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
ifstream cin ("loto.in");
ofstream cout ("loto.out");
const int N = 100;
int a[N + 1];
map <int, pair <int, int> > m;
int n, sum;
int main()
{
cin >> n >> sum;
for (int i = 1; i <= n; ++i)
cin >> a[i];
bool gasit = false;
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] <= sum)
{
m[a[i] + a[j] + a[k]] = {a[i], a[j]};
if (m.find (sum - a[i] - a[j] - a[k]) != m.end())
{
int dif = sum - a[i] - a[j] - a[k];
cout << a[i] << ' ' << a[j] << ' ' << a[k] << ' ' << m[dif].first << ' ' << m[dif].second << ' ' << dif - m[dif].first - m[dif].second << '\n';
return 0;
}
}
if (!gasit)
cout << "-1";
return 0;
}