Pagini recente » Cod sursa (job #2701475) | Cod sursa (job #1894664) | Cod sursa (job #646711) | Cod sursa (job #1574067) | Cod sursa (job #2895873)
#include <iostream>
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int i, j, k, N, S, numerePosibile[101], sumaJumate;
unordered_map<int, tuple<int, int, int>> combinatie;
int main()
{
f>>N>>S;
for (i = 0; i < N; ++i)
f>>numerePosibile[i];
for(i = 0; i < N; ++i)
for(j = i; j < N; ++j)
for(k = j; k < N; ++k)
combinatie[numerePosibile[i] + numerePosibile[j] + numerePosibile[k]] = make_tuple(numerePosibile[i], numerePosibile[j], numerePosibile[k]);
for(i = 0; i < N; ++i)
for(j = i; j < N; ++j)
for(k = j; k < N; ++k)
{
if(combinatie.find(S - numerePosibile[i] - numerePosibile[j] - numerePosibile[k]) != combinatie.end())
{
tuple<int, int, int> tupluAux = combinatie[S - numerePosibile[i] - numerePosibile[j] - numerePosibile[k]];
g<<numerePosibile[i]<<" "<<numerePosibile[j]<<" "<<numerePosibile[k]<<" "<<get<0>(tupluAux)<<" "<<get<1>(tupluAux)<<" "<<get<2>(tupluAux);
return 0;
}
}
g<<-1;
return 0;
}