【杭电】[1280]前m大的数

这里写图片描述
这里写图片描述

比较暴力的一种写法
直接保存之后把两两相加的结果保存在另一个数组
之后排序……

#include<stdio.h>
#include<algorithm>
using namespace std;
int a[3200],b[3000*1500];
int main() {
    int n,m;
    while(scanf("%d %d",&n,&m)!=EOF) {
        for(int i=0; i<n; i++)
            scanf("%d",&a[i]);
        int cnt=0;
        for(int i=0; i<n; i++) {
            for(int j=i; j<n; j++) {
                if(i==j)
                    continue;
                else {
                    b[cnt++]=a[i]+a[j];
                }
            }
        }
        sort(b,b+cnt);
        for(int i=cnt-1,k=0; k<m; k++,i--) {
            printf("%d",b[i]);
            if(k==m-1)
                printf("
");
            else
                printf(" ");
        }
    }
    return 0;
}

题目地址:【杭电】[1280]前m大的数

原文地址:https://www.cnblogs.com/BoilTask/p/12569658.html