Pagini recente » Cod sursa (job #995940) | Cod sursa (job #2201019) | preoni2008-runda1-5-8 | Cod sursa (job #2953695) | Cod sursa (job #721824)
Cod sursa(job #721824)
#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 = 5; i >= 0; 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;
}