Pagini recente » Cod sursa (job #785650) | Cod sursa (job #1010198) | Cod sursa (job #1687517) | Cod sursa (job #2904497) | Cod sursa (job #2735085)
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n, S;
vector <int> v(100);
unordered_map <int, pair <int, int>> mp;
int main()
{
fin >> n >> S;
for (int i = 0; i < n; ++i)
fin >> v[i];
fin.close();
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
for (int k = 0; k < n; ++k)
mp[v[i] + v[j] + v[k]] = make_pair(v[i], v[j]);
bool found = false;
for (int i = 0; i < n && !found; ++i)
for (int j = 0; j < n && !found; ++j)
for (int k = 0; k < n && !found; ++k)
{
int sum = S - v[i] - v[j] - v[k];
if (mp.find(sum) != mp.end())
{
fout << v[i] << ' ' << v[j] << ' ' << v[k] << ' ' << mp[sum].first << ' '
<< mp[sum].second << ' ' << sum - mp[sum].first - mp[sum].second;
found = 1;
}
}
if (!found) fout << -1;
fout.close();
return 0;
}