Pagini recente » Cod sursa (job #2434367) | Cod sursa (job #1901460) | Cod sursa (job #2789596) | Cod sursa (job #986924) | Cod sursa (job #2911215)
#include <iostream>
#include <unordered_map>
#include <vector>
#include <array>
using namespace std;
int main()
{
int n, sum;
cin >> n >> sum;
vector<int> a(n);
for(int i = 0; i < n; i++)
cin >> a[i];
unordered_map<int, array<int, 3>> sums;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
for(int k = 0; k < n; k++)
{
array<int, 3> v;
v[0] = a[i]; v[1] = a[j]; v[2] = a[k];
sums[a[i] + a[j] + a[k]] = v;
}
for(unordered_map<int, array<int, 3>>::const_iterator it = sums.cbegin(); it != sums.cend(); it++)
{
const int& s = it->first;
const array<int, 3>& v = it->second;
if(sums.find(sum - s) != sums.end())
{
for(int i = 0; i < 3; i++)
cout << v[i] << ' ';
for(int i = 0; i < 3; i++)
cout << sums[sum - s][i] << ' ';
cout << '\n';
return 0;
}
}
cout << "-1\n";
}