Pagini recente » Cod sursa (job #2937031) | Cod sursa (job #1770907) | Cod sursa (job #1821323) | Cod sursa (job #3281790) | Cod sursa (job #721823)
Cod sursa(job #721823)
#include <iostream>
#include <fstream>
#include <vector>
#include <set>
#include <cstdlib>
using namespace std;
int n, s;
set<int> numere;
vector<int> sol (6);
void back (int index, int sum)
{
if (sum > s)
return;
if (index == 6)
{
if (sum == s)
{
ofstream out ("loto.out");
for (int i = 0; i < 6; i++)
{
out << sol[i] << ' ';
}
out << '\n';
out.close ();
exit (0);
}
}
else
{
for (set<int>::reverse_iterator it = numere.rbegin (); it != numere.rend (); it++)
{
sol[index] = *it;
back (index + 1, sum + *it);
}
}
}
int main (int argc, char const *argv[])
{
ifstream in ("loto.in");
in >> n >> s;
for (int i = 0; i < n; i++)
{
int numar; in >> numar;
numere.insert (numar);
}
in.close ();
if (s > 6 * (*numere.end ()))
{
ofstream out ("loto.out");
out << -1 << '\n';
out.close ();
exit (0);
}
back (0, 0);
return 0;
}