Pagini recente » Cod sursa (job #1982100) | Cod sursa (job #2874099) | Cod sursa (job #2859408) | Cod sursa (job #79498) | Cod sursa (job #2774353)
#include <fstream>
#include <unordered_map>
#define NMAX 105
using namespace std;
/***********************************/
/// INPUT / OUTPUT
ifstream f("loto.in");
ofstream g("loto.out");
/***********************************/
/// GLOBAL DECALARATIONS
int N, S;
int numbers[NMAX];
struct Triplet
{
int i, j, k;
};
unordered_map < int, Triplet > mapa;
/***********************************/
/// FUNCTIONS
void ReadInput();
void Solution();
void Output();
/***********************************/
///-------------------------------------------
inline void ReadInput()
{
f >> N >> S;
for (int i = 1 ; i <= N ; ++ i)
f >> numbers[i];
}
///-------------------------------------------
inline void Solution()
{
for (int i = 1 ; i <= N ; ++ i)
{
for (int j = 1 ; j <= N ; ++ j)
{
for (int k = 1 ; k <= N ; ++ k)
{
int sum = numbers[i] + numbers[j] + numbers[k];
Triplet triplet = {numbers[i], numbers[j], numbers[k]};
mapa[sum] = triplet;
if (mapa.find(S - sum) != mapa.end())
{
g << mapa[S - sum].i << " " << mapa[S - sum].j << " " << mapa[S - sum].k << " " << triplet.i << " " << triplet.j << " " << triplet.k << "\n";
return;
}
}
}
}
g << "-1";
}
///-------------------------------------------
int main()
{
ReadInput();
Solution();
return 0;
}