Pagini recente » Cod sursa (job #626032) | Cod sursa (job #18855) | Cod sursa (job #2057518) | Cod sursa (job #317150) | Cod sursa (job #271715)
Cod sursa(job #271715)
#include <stdio.h>
#include <algorithm>
using namespace std;
int a[100], b[1000012][4];
int main()
{
int n, i, j, k, s, np = 0;
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d %d", &n, &s);
for (i = 1; i <= n; ++ i)
{
scanf("%d", &a[i]);
}
sort(a+1, a+n+1);
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)
{
b[++np][0] = a[i]+a[j]+a[k];
b[np][1] = a[i];
b[np][2] = a[j];
b[np][3] = a[k];
}
int left = 1;
int right = np;
int sum = b[left][0] + b[right][0];
while (left <= right)
{
if (sum < s)
{
sum -= b[left][0];
++left;
sum += b[left][0];
} else
if (sum > s)
{
sum -= b[right][0];
--right;
sum += b[right][0];
} else
if (sum == s)
{
printf("%d %d %d %d %d %d\n",b[left][1], b[left][2], b[left][3], b[right][1], b[right][2], b[right][3]);
return 0;
}
}
printf("-1\n");
return 0;
}