Pagini recente » Cod sursa (job #2500888) | Cod sursa (job #2824390) | Cod sursa (job #2776105) | Cod sursa (job #2967229) | Cod sursa (job #2210982)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int x[100], v[6], N, S, ok=0;
ifstream f("loto2.in");
ofstream g("loto.out");
int comp(const void* a, const void* b)
{
int* arg1 = (int*) a;
int* arg2 = (int*) b;
if( *arg1 < *arg2 ) return -1;
else if( *arg1 == *arg2 ) return 0;
else return 1;
}
bool accept(int p)
{
return ((p<=5 && x[v[p]]<S));
}
void Back(int i)
{
for (int j=0; j<N; j++)
{
v[i]=j;
if (accept(i))
{
if (i<5) Back(i+1);
else
{
int T=0;
for (int k=0; k<=5; ++k) T += x[v[k]];
if (T==S)
{
for(int k=0; k<=5; ++k) g<<x[v[k]]<<" ";
ok=1;
exit(0);
}
}
}
}
}
int main()
{
f >> N >> S;
for (int i=0; i<=N-1; ++i) f >> x[i];
//qsort(x, N, sizeof(int), comp);
Back(0);
if(ok==0) g<<-1;
f.close(); g.close();
return 0;
}