Pagini recente » Cod sursa (job #1664542) | Cod sursa (job #2971561) | Cod sursa (job #2627707) | Cod sursa (job #2925710) | Cod sursa (job #298557)
Cod sursa(job #298557)
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
int N, S;
int v[105];
struct Numere
{
int a, b, c, suma;
};
vector <Numere> a;
int cmp(const Numere &x, const Numere &y)
{
return x.suma < y.suma;
}
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
int i, j, k;
scanf("%d %d", &N, &S);
for (i = 1; i <= N; i++) scanf("%d", &v[i]);
for (i = 1; i <= N; i++)
for (j = i; j <= N; j++)
for (k = j; k <= N; k++)
{
Numere x;
x.a = v[i]; x.b = v[j]; x.c = v[k];
x.suma = v[i] + v[j] + v[k];
a.push_back(x);
}
sort(a.begin(), a.end(), cmp);
i = 0; j = a.size() - 1;
while (i <= j)
{
int dif = S - a[i].suma;
while (a[j].suma > dif) j--;
if (a[j].suma == dif)
{
printf("%d %d %d %d %d %d\n", a[i].a, a[i].b, a[i].c, a[j].a, a[j].b, a[j].c);
return 0;
}
i++;
}
printf("-1\n");
return 0;
}