题目描述
噜噜有两条队列:左队列和右队列。一开始它们都是空的。
接下来会连续进行 n 轮操作,每一轮噜噜都会把一个数字扔进左队列,同时把另一个数字扔进右队列。我们用
<a1,b1><a2,b2>…<an,bn>
表示这 n 组投入的数字(第 i 行的 ai 进左队列,bi 进右队列)。
游戏规则
-
在任意时刻,噜噜都可以随意重新排列左队列里的数字,也可以独立重新排列右队列里的数字(爱怎么排就怎么排,也可以不排)。
-
重新排列完成后,噜噜把两个队列“对齐配对”:第 1 个左数配第 1个右数,第 2 个配第 2 个,依此类推。
-
对于每一对配对,计算它们的配对和 = 左数 + 右数。
-
噜噜关注的是所有配对和里最大的那个。排得越巧,这个最大值就可能越小。
任务:在第 i 轮数字投入完毕后,立即告诉噜噜——
在此刻可随意重新排列两个队列的前提下,能把“最大的配对和”压到多小?
连续输出这 n 个答案。
输入格式
第一行一个整数n,表示总共有n轮
接下来n行,每行2个整数,第i行表示 ai,bi 分别代表第i轮加入左队列 和 右队列中的数字
输出格式
共 n 行。
第 i 行输出在前 i轮结束时,最小可能的“最大配对和”。
3
2 8
3 1
1 4
10
10
9
说明
-
只投第 1 轮:左 [2],右 [8]→ 唯一配对和 2+8=10。
-
投完第 2 轮:左 [2,3] 排成 [2,3],右 [8,1] 排成 [8,1],两对配对和分别为 10、4,最大值仍为 10(无法更小)。
-
投完第 3 轮:把左排成 [1,2,3],右排成 [8,1,4],配对和为 9、3、7,最大值变成 9,为最优。
数据范围
| 百分比 |
数据范围 |
| 20% |
n≤5,ai,bi≤10 |
| 40% |
n≤100,ai,bi≤100 |
| 70% |
n≤1000,ai,bi≤100 |
| 100% |
n≤100000,ai,bi≤100 |