HDU 1280(HASH)

来源:互联网 发布:心理素质训练 软件 编辑:程序博客网 时间:2024/06/08 07:03
#include <cstdio>#include <cstring>#include <climits>#define N 3009#define maxn 10009int 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;}

0 0
原创粉丝点击