欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【哈希映射】HDU-1280 前m大的数

程序员文章站 2022-04-06 14:01:11
...

【哈希映射】HDU-1280 前m大的数
【哈希映射】HDU-1280 前m大的数

注解

1、简单的哈希映射,把sum映射到对应位置。

代码

#include <iostream>
#include <cstring>

using namespace std;

const int MAXN = 10001;

int main() {

    int N, M;
    while(~scanf("%d %d", &N, &M)) {
        int a[N];
        int sum[MAXN];
        memset(sum, 0, sizeof(sum));
        for(int i=0; i<N; i++) {
            scanf("%d", &a[i]);
        }
        for(int i=0; i<N-1; i++) {
            for(int j=i+1; j<N; j++) {
                sum[a[i]+a[j]]++;
            }
        }
        for(int i=MAXN-1; i>=0; i--) {
            if(M>1 && sum[i]>0) {
                printf("%d ", i);
                sum[i]--;
                i++;
                M--;
            } else if(sum[i]>0) {
                printf("%d", i);
                break;
            }
        }
        printf("\n");
    }

    return 0;
}

结果

【哈希映射】HDU-1280 前m大的数

相关标签: hdu