Pagini recente » Cod sursa (job #3260581) | Cod sursa (job #301472) | Cod sursa (job #1953619) | Cod sursa (job #2397078) | Cod sursa (job #1573276)
#include <fstream>
#include <map>
#include <tuple>
using namespace std;
int main()
{
int N, S, V[102], i, j, k, tmpSum;
map<int, tuple<int, int, int>> m;
ifstream f("loto.in");
f >> N >> S;
for (i = 1; i <= N; i++)
{
f >> V[i];
}
f.close();
for (i = 1; i <= N; i++)
{
for (j = 1; j <= N; j++)
{
for (k = 1; k <= N; k++)
{
tmpSum = V[i] + V[j] + V[k];
tuple<int, int, int> t(i, j, k);
m.insert(pair<int, tuple<int, int, int>>(tmpSum, t));
}
}
}
ofstream g("loto.out");
for (i = 1; i <= N; i++)
{
for (j = 1; j <= N; j++)
{
for (k = 1; k <= N; k++)
{
tmpSum = V[i] + V[j] + V[k];
try
{
tuple<int, int, int> t = m.at(S - tmpSum);
g << V[i] << " " << V[j] << " " << V[k] << " " << V[get<0>(t)] << " " << V[get<1>(t)] << " " << V[get<2>(t)] << endl;
return 0;
}
catch (const out_of_range &oor)
{
continue;
}
}
}
}
g << -1;
g.close();
return 0;
}