Pagini recente » Cod sursa (job #2620233) | Cod sursa (job #2498963) | Cod sursa (job #3132631) | Cod sursa (job #1333711) | Cod sursa (job #2892177)
#include <fstream>
#include <unordered_map>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
unordered_map <int, pair<int, int>> sume;
vector <int> rez(6);
int nrBile, sum, i, j, k, sumacurenta, elem1, elem2, bile[101];
pair <int, int> haide;
int main()
{
fin >> nrBile >> sum;
for (i = 0; i < nrBile; i++)
fin >> bile[i];
for (i = 0; i< nrBile; i++)
for (j = i; j < nrBile; j++)
{
haide = make_pair(bile[i], bile[j]);
for (k = j; k < nrBile; k++)
sume[bile[i]+bile[j]+bile[k]] = haide;
}
for (i = 0; i< nrBile; i++)
for (j = i; j < nrBile; j++)
for (k = j; k < nrBile; k++)
if (sume.count(sum-bile[i]-bile[j]-bile[k]))
{
sumacurenta = sum-bile[i]-bile[j]-bile[k];
elem1 = sume[sumacurenta].first;
elem2 = sume[sumacurenta].second;
rez[0] = bile[i];
rez[1] = bile[j];
rez[2] = bile[k];
rez[3] = elem1;
rez[4] = elem2;
rez[5] = sumacurenta - elem1-elem2;
sort(rez.begin(), rez.end());
for (auto m: rez )
fout << m << ' ';
return 0;
}
fout << -1;
return 0;
}