Pagini recente » Cod sursa (job #800039) | Cod sursa (job #2786092) | Cod sursa (job #2091798) | Cod sursa (job #312294) | Cod sursa (job #1936029)
#include <iostream>
#include <fstream>
#include <algorithm>
#define NMAX 101
using namespace std;
ifstream fin ("loto.in");
ofstream g ("loto.out");
int n, s, v[NMAX];
inline bool cmp(const int & a, const int & b)
{
return a > b;
}
int main()
{
fin>>n>>s;
for (int i = 1; i <= n; i++)
fin>>v[i];
sort(v + 1, v + 1 + n, cmp);
for (int a=1;a<=n&&v[a]*6>=s;a++) { int sum1 = v[a];
for (int b=a;b<=n&&sum1+v[b]*5>=s && sum1 + v[n] * 5 <= s;b++) { int sum2 = sum1 + v[b];
for (int c=b;c<=n&&sum2+v[c]*4>=s && sum2 + v[n] * 4 <= s;c++) { int sum3 = sum2 + v[c];
for (int d=c;c<=n&&sum3+v[d]*3>=s && sum3 + v[n] * 3 <= s;d++) { int sum4 = sum3 + v[d];
for (int e=d;e<=n&&sum4+v[e]*2>=s && sum4 + v[n] * 2 <= s;e++) { int sum5 = sum4 + v[e];
for (int f=e;f<=n&&sum5+v[f]>=s && sum5 + v[n] <= s;f++) {
if (sum5+v[f]==s) {
g<<v[a]<<' '<<v[b]<<' '<<v[c]<<' '<<v[d]<<' '<<v[e]<<' '<<v[f];
return 0;
}
}
}
}
}
}
}
g<<-1;
return 0;
}