n個最小和

2021-09-10 04:43:44 字數 956 閱讀 3403

題目

問題描述

給出兩個包含 n 個整數的陣列 a,b。分別在 a, b 中任意出乙個數並且相加,可以得到 n^2個和。求這些和中最小的 n 個。

輸入格式

輸入第一行乙個整數n(1≤n≤50000)。接下來一行輸入陣列 a,用空格隔開。接下來一行輸入陣列 b,用空格隔開。1<=ai<=10^9.

輸出格式

從小到大輸出最小的 n 個和,用空格隔開。

樣例輸入

41 3 5 7

2 4 6 8

樣例輸出

3 5 5 7

**

#include

#include

#include

using

namespace std;

int a[

100005

],b[

100005

],c[

100005];

int n;

;struct datao[

100005

],z;

bool

operator

<

(data x,data y)

priority_queue q;

intmain()

sort

(a+1

,a+1

+n);

for(

int i=

1;i<=n;

++i)

sort

(b+1

,b+1

+n);

for(

int i=

1;i<=n;

++i)

for(

int i=

1;i<=n;

++i)

}

n個最小和

給出兩個包含n 個整數的陣列 a,b。分別在 a,b 中任意出乙個數並且相加,可以得到 n 2個和。求這些和中最小的 n 個。輸入格式 輸入第一行乙個整數 n 1 n 50000 接下來一行輸入陣列 a,用空格隔開。接下來一行輸入陣列 b,用空格隔開。1 ai,bi 10 9 輸出格式 從小到大輸出...

Wiki OI 1245 最小的N個和

演算法與思路 k路歸併 堆 優先佇列 k路歸併具體請參考劉汝佳 演算法競賽入門經典訓練指南 p189 題目要求從兩個長度為n的數列中各取出一數相加,可得到n n個和,輸出這些和公升序的前n項 由於資料太大,不能通過先求和再排序的方式來求解,這個時候就要用到堆了 首先將a,b兩陣列排序,然後將a i ...

codevs1245 最小的N個和

題目描述 description 有兩個長度為 n 的序列 a 和 b,在 a 和 b 中各任取乙個數可以得到 n 2 個和,求這n 2 個和中最小的 n個。輸入描述 input description 第一行輸入乙個正整數n 第二行n個整數ai 且ai 10 9 第三行n個整數bi,且bi 10 ...