Pagini recente » Cod sursa (job #2580689) | Cod sursa (job #3272135) | Cod sursa (job #2847407) | Cod sursa (job #1983113) | Cod sursa (job #2741017)
#include <fstream>
#include <unordered_map>
std::ifstream f("loto.in");
std::ofstream g("loto.out");
std::unordered_map<int, int> Sum2;
int S, N, Numere[100];
bool verif()
{
for(auto it1 = Sum2.begin(); it1 != Sum2.end(); ++it1)
for(auto it2 = it1; it2 != Sum2.end(); ++it2)
{
int Aux = S - it1->first - it2->first;
if(Sum2.find(Aux) != Sum2.end())
{
g << it1->second << ' ' << it1->first - it1->second;
g << ' ' << it2->second << ' ' << it2->first - it2->second;
g << ' ' << Sum2[Aux] << ' ' << Aux - Sum2[Aux];
return true;
}
}
return false;
}
int main()
{
f >> N >> S;
for(int i = 0; i < N; ++i)
{
f >> Numere[i];
for(int j = i; j > -1; --j)
if(Numere[i] + Numere[j] <= S)
Sum2[Numere[i] + Numere[j]] = Numere[i];
}
if(!verif())
g << -1;
return 0;
}