Pagini recente » Cod sursa (job #763119) | Cod sursa (job #1029683) | Cod sursa (job #1297178) | Cod sursa (job #67645) | Cod sursa (job #2743443)
// pariuri
#include <iostream>
// Loto
#include <fstream>
#include <unordered_map>
std::ifstream f("pariuri.in");
std::ofstream g("pariuri.out");
int numere[100];
struct suma
{
int c1, c2, c3;
};
std::unordered_map <int, suma> parti;
int main()
{
int n, s;
f >> n >> s;
for (int i = 0; i < n; i++)
f >> numere[i];
for (int i = 0; i < n; i++)
{
suma candidat;
candidat.c1 = numere[i];
for (int j = i; j < n; j++)
{
candidat.c2 = numere[j];
for (int k = j; k < n; k++)
{
candidat.c3 = numere[k];
const int s_actuala = candidat.c1 + candidat.c2 + candidat.c3;
if (s_actuala == s)
{
g << candidat.c1 << " " << candidat.c2 << " " << candidat.c3;
return 0;
}
else if (s_actuala < s)
{
parti[s_actuala] = candidat;
if (parti.find(s - s_actuala) != parti.end())
{
g << candidat.c1 << " " << candidat.c2 << " " << candidat.c3 << " " << parti[s - s_actuala].c1 << " " << parti[s - s_actuala].c2 << " " << parti[s - s_actuala].c3;
return 0;
}
}
}
}
}
g << "-1";
return 0;
}