Pagini recente » Cod sursa (job #3255955) | Cod sursa (job #1252550) | Cod sursa (job #2291863) | Cod sursa (job #2185212) | Cod sursa (job #1699556)
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;
int n, s;
int nrs[100];
int stak[6];
ifstream in("loto.in");
ofstream out("loto.out");
int main()
{
bool sol = false;
int a, b, c, d, e, f, x, i;
int sa = 0, sb = 0, sc = 0, sd = 0, se = 0, sf = 0;
in>>n>>s;
for (i=0; i<n; i++) {
in>>x;
nrs[i] = x;
}
sort(nrs, nrs+n);
for (a=0; a<n && sa < s; a++) {
sa = nrs[a];
stak[0] = a;
for (b=a; b<n && sb < s; b++) {
sb = sa + nrs[b];
stak[1] = b;
for (c=b; c<n && sc < s; c++) {
sc = sb + nrs[c];
stak[2] = c;
for (d=c; d<n && sd < s; d++) {
sd = sc + nrs[d];
stak[3] = d;
for (e=d; e<n && se < s; e++) {
se = sd + nrs[e];
stak[4] = e;
for (f=e; f<n && sf < s; f++) {
sf = se + nrs[f];
stak[5] = f;
}
if (sf == s) {
sol = true;
goto done;
}
}
}
}
}
}
done:
if (!sol) {
out<<-1;
}
else for (i=0; i<6; i++) {
out<<nrs[stak[i]]<<" ";
}
in.close();
out.close();
return 0;
}