優先佇列 洛谷 P1631 序列合併

2022-07-24 05:45:19 字數 723 閱讀 3142

有兩個長度都是n的序列a和b,在a和b中各取乙個數相加可以得到n^2n2個和,求這n^2n2個和中最小的n個。

輸入格式:

第一行乙個正整數n;

第二行n個整數a_iai​, 滿足a_i\le a_ai​≤ai+1​且a_i\le 10^9ai​≤109;

第三行n個整數b_ibi​, 滿足b_i\le b_bi​≤bi+1​且b_i\le 10^9bi​≤109.

【資料規模】

對於50%的資料中,滿足1<=n<=1000;

對於100%的資料中,滿足1<=n<=100000。

輸出格式:

輸出僅一行,包含n個整數,從小到大輸出這n個最小的和,相鄰數字之間用空格隔開。

輸入樣例#1:

3

2 6 6

1 4 8

輸出樣例#1:

3 6 7

1 #include 2 #include 3 #include 4

#define n 100010

5using

namespace

std;

6 priority_queueint,int>,vectorint,int> >,greaterint,int> > >q;

7int

n,k,a[n],b[n],p[n];

8int

main()

9

(優先佇列)P1631 序列合併

有兩個長度都是n的序列a和b,在a和b中各取乙個數相加可以得到n 2 個和,求這n 2個和中最小的n個。ai 1e9,bi 1e9,n 1e5.直接暴力用優先佇列存前n個,如果出現第乙個比當前最大值還大的值時退出迴圈保障複雜度 includeusing namespace std const int...

洛谷 P1631 序列合併

題目描述 有兩個長度都是n的序列a和b,在a和b中各取乙個數相加可以得到n 2個和,求這n 2個和中最小的n個。輸入輸出格式 輸入格式 第一行乙個正整數n 第二行n個整數ai,滿足ai ai 1且ai 10 9 第三行n個整數bi,滿足bi bi 1且bi 10 9.資料規模 對於50 的資料中,滿...

洛谷 P1631 序列合併

有兩個長度都是n的序列a和b,在a和b中各取乙個數相加可以得到n 2個和,求這n 2個和中最小的n個。第一行乙個正整數n 第二行n個整數ai,滿足ai ai 1且ai 10 9 第三行n個整數bi,滿足bi bi 1且bi 10 9.輸出僅一行,包含n個整數,從小到大輸出這n個最小的和,相鄰數字之間...