Pagini recente » Cod sursa (job #768405) | Cod sursa (job #989275) | Cod sursa (job #2494199) | Cod sursa (job #1825011) | Cod sursa (job #3131693)
#include <fstream>
#include <iostream>
#include <unordered_map>
#include <vector>
std::ifstream in("loto.in");
std::ofstream out("loto.out");
int n, v[101];
long s;
bool found;
std::unordered_map<int, int[3]> map;
void afisare_rezultat(int i, int j, int k)
{
out << v[i] << ' ';
out << v[j] << ' ';
out << v[k] << ' ';
out << map[s - (v[i] + v[j] + v[k])][0] << ' ';
out << map[s - (v[i] + v[j] + v[k])][1] << ' ';
out << map[s - (v[i] + v[j] + v[k])][2] << ' ';
}
int main()
{
in >> n >> s;
for (int i = 1; i <= n; i++)
in >> v[i];
found = false;
for (int i = 1; i <= n - 2 && found == false; i++)
for (int j = i + 1; j <= n - 1 && found == false; j++)
for (int k = j + 1; k <= n && found == false; k++)
{
map[v[i] + v[j] + v[k]][0] = v[i];
map[v[i] + v[j] + v[k]][1] = v[j];
map[v[i] + v[j] + v[k]][2] = v[k];
if (map.find(s - (v[i] + v[j] + v[k])) != map.end())
{
found = true;
afisare_rezultat(i, j, k);
}
}
if (found == false)
out << "-1";
return 0;
}