Pagini recente » Cod sursa (job #270984) | Cod sursa (job #352724) | Cod sursa (job #2050836) | Cod sursa (job #2668638) | Cod sursa (job #2734420)
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct elem
{
int first, second, third;
};
unordered_map <int, elem> has;
int main()
{
bool ok = false;
int n, s;
fin >> n >> s;
vector <int> v(n);
for (int i = 0; i < n; i++)
{
int x;
fin >> v[i];
}
for (int i = 0; i < n; i++)
for (int j = i; j < n; j++)
for (int k = j; k < n; k++)
{
has[v[i] + v[j] + v[k]].first = v[i];
has[v[i] + v[j] + v[k]].second = v[j];
has[v[i] + v[j] + v[k]].third = v[k];
}
for (int i = 0; i < n && ok == false; i++)
for (int j = i; j < n && ok == false; j++)
for (int k = j; k < n && ok == false; k++)
{
if (has.find(s - v[i] - v[j] - v[k]) != has.end())
{
fout << v[i] << " " << v[j] << " " << v[k] << " ";
fout << has[s - v[i] - v[j] - v[k]].first << " " << has[s - v[i] - v[j] - v[k]].second << " " << has[s - v[i] - v[j] - v[k]].third << " ";
ok = true;
}
}
if (ok == false)
fout << -1;
return 0;
}