Pagini recente » Cod sursa (job #993672) | Cod sursa (job #604501) | Cod sursa (job #1762710) | Cod sursa (job #405607) | Cod sursa (job #3131938)
#include <iostream>
using namespace std;
#include <fstream>
#include <tuple>
#include <vector>
#include <unordered_map>
ofstream out("loto.in");
ifstream in("loto.out");
int main()
{
int n, nr[101], sumaLoto;
unordered_map <int, tuple <int, int, int>> sum;
in >> n >> sumaLoto;
for (int i = 0; i < n; i++)
{
in >> nr[i];
}
for (int i = 0; i < n; i++)
{
for (int j = i; j < n; j++)
{
for (int k = j; k < n; k++)
{
int suma = nr[i] + nr[j] + nr[k];
sum[suma] = make_tuple(nr[i], nr[j], nr[k]);
}
}
}
bool ok = 0;
for (int i = 0; i < n && !ok; i++)
{
for (int j = i; j < n && !ok; j++)
{
for (int k = j; k < n && !ok; k++)
{
int suma = nr[i] + nr[j] + nr[k];
suma = sumaLoto - suma;
if (sum.find(suma) != sum.end())
{
ok = 1;
tuple <int, int, int> tuplu;
tuplu = sum[suma];
out << nr[i] << " " << nr[j] << " " << nr[k] << " "
<< get<0>(tuplu) << " " << get<1>(tuplu) << " " << get<2>(tuplu) << endl;
}
}
}
}
if (!ok)
{
out << "-1";
}
return 0;
}