Pagini recente » Cod sursa (job #1537320) | Cod sursa (job #2645699) | Cod sursa (job #1935709) | Cod sursa (job #2585851) | Cod sursa (job #1023782)
#include <cstdio>
#include <algorithm>
#include <map>
using namespace std;
int n, a[102], S;
void afis(int x, int y, int z)
{
int i, j, k, s= S - a[x] - a[y] - a[z];
for(i=1; i <= n; ++i)
for(j=i; j <= n; ++j)
for(k=j; k <= n; ++k)
if(a[i] + a[j] + a[k] == s)
{
printf("%d %d %d %d %d %d\n", a[x], a[y], a[z], a[i], a[j], a[k]);
exit(0);
}
}
int main() {
freopen ("loto.in", "r", stdin);
freopen ("loto.out", "w", stdout);
scanf ("%d %d\n", &n, &S);
int i, j, k, s;
for (i = 1; i <= n; ++i)
scanf ("%d", &a[i]);
sort(a + 1, a + n + 1);
map<int, bool> hash;
for (i = 1; i <= n; ++i)
for (j = i; j <= n; ++j)
for (k = j; k <= n; ++k)
hash[a[i] + a[j] + a[k] ] = true;
for (i = 1; i <= n; ++i)
for (j = i; j <= n; ++j)
for (k =j; k <= n; ++k) {
s = S - a[i] - a[j] - a[k];
if (s >= 0)
if (hash[s] == true)
afis(i, j, k);
}
printf ("-1\n");
}