Pagini recente » Cod sursa (job #1878937) | Cod sursa (job #2117050) | Cod sursa (job #1774290) | Cod sursa (job #848746) | Cod sursa (job #1279722)
#include <cstdio>
#include <cstdlib>
FILE *in = fopen("loto.in", "r");
FILE *out = fopen("loto.out", "w");
int cmp (const void *p1, const void *p2)
{
int a = *(int*)p1, b = *(int*)p2;
return a - b;
}
int p(int *v, int n, int *sol, int ii, int k, int s)
{
if (s < 0)
return 1;
if (k == 6)
return s == 0 ? 0 : -1;
for (int i = ii; i < n; i++) {
sol[k] = v[i];
if (p(v, n, sol, i, k+1, s-v[i]) == 0)
return 0;
}
return -1;
}
int main()
{
int n, s;
fscanf(in, "%d %d", &n, &s);
int v[n], sol[n];
for (int i = 0; i < n; i++)
fscanf(in, "%d", &v[i]);
qsort(v, n, sizeof(int), cmp);
if (p(v, n, sol, 0, 0, s) == 0) {
for (int i = 0; i < 6; i++) {
fprintf(out, "%d ", sol[i]);
}
} else {
fprintf(out, "-1");
}
return 0;
}