Pagini recente » Cod sursa (job #726070) | Solutii preONI 2007, Runda 3 | Cod sursa (job #1175396) | Cod sursa (job #943569) | Cod sursa (job #2895856)
#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(i,j,k);
for(i = 0; i < N; ++i)
for(j = i; j < N; ++j)
for(k = j; k < N; ++k)
{
sumaJumate = S - numerePosibile[i] - numerePosibile[j] - numerePosibile[k];
if(combinatie.find(sumaJumate) != combinatie.end())
{
tuple<int, int, int> tupluAux = combinatie[sumaJumate];
g<<numerePosibile[i]<<" "<<numerePosibile[j]<<" "<<numerePosibile[k]<<" "<<numerePosibile[get<0>(tupluAux)]<<" "<<numerePosibile[get<1>(tupluAux)]<<numerePosibile[get<2>(tupluAux)];
return 0;
}
}
g<<-1;
return 0;
}