#include <cstdio>
#include <cstring>
#include <climits>
#define N 3009
#define maxn 10009
int hash[maxn];
int number[N];
int main()
{
int n, m, i, j, max;
while (scanf("%d %d", &n, &m) != EOF)
{
max = INT_MIN;
for (i = 0; i < n; ++i)
{
scanf("%d", number+i);
max = max > number[i] ? max : number[i];
}
memset(hash, 0, sizeof(int) * ((max<<1)+1));
for (i = 0; i < n-1; ++i)
{
for (j = i+1; j < n; ++j)
{
++hash[number[i]+number[j]];
}
}
bool first = true;
for (i = max<<1; i > 0 && m; --i)
{
while (hash[i] && m)
{
--hash[i], --m;
if (first)
printf("%d", i), first = false;
else printf(" %d", i);
}
}
puts("");
}
return 0;
}
HDU 1280(HASH)
最新推荐文章于 2019-08-14 06:50:41 发布