#P9693. [GDCPC 2023] New Houses

[GDCPC 2023] New Houses

题目描述

随着广东的建设与发展,越来越多人选择来到广东开始新生活。在一片新建的小区,有 nn 个人要搬进 mm 栋排成一行的房子,房子的编号从 11 到 mm(含两端)。房子 uu 和 vv 相邻,当且仅当 ∣u−v∣=1|u-v|=1。我们需要为每一个人安排一栋房子,要求所有人入住的房子互不相同。若两个人住进了一对相邻的房子,则这两个人互为邻居。

有的人喜欢自己有邻居,而有的人不喜欢。对于第 ii 个人,如果他有至少一位邻居,则他的满意度为 aia_i;否则如果他没有邻居,则他的满意度为 bib_i。

您作为小区的规划者,需要最大化所有人的总满意度。

输入格式

有多组测试数据。第一行输入一个整数 TT 表示测试数据组数。对于每组测试数据:

第一行输入两个整数 nn 和 mm(1≤n≤5×1051 \le n \le 5 \times 10^5,1≤m≤1091 \le m \le 10^9,n≤mn \le m),表示人数和房子数。

对于接下来的 nn 行,第 ii 行输入两个整数 aia_i 和 bib_i(1≤ai,bi≤1091 \le a_i, b_i \le 10^9),表示第 ii 个人在有邻居和没有邻居时的满意度。

保证所有数据 nn 之和不超过 10610^6。

输出格式

每组数据输出一行一个整数表示最大总满意度。

【样例解释】

对于第一组样例数据,最优方案是让第 11 个人入住房子 11,第 22 到 44 个人入住房子 33 到 55。这样,第 11 个人没有邻居,而第 22 到 44 个人都有邻居。答案为 100+100+100+100=400100 + 100 + 100 + 100 = 400。当然,也可以让第 22 到 44 个人入住房子 11 到 33,第 11 个人入住房子 55,也能得到 400400 的总满意度。

对于第二组样例数据,由于只有 22 栋房子,因此第 11 和第 22 个人必须成为邻居。答案为 1+1=21 + 1 = 2。

对于第三组样例数据,最优方案是让第 11 个人入住房子 11,第 22 个人入住房子 33。这样,两个人都没有邻居。答案为 50+1000=105050 + 1000 = 1050。

3
4 5
1 100
100 1
100 1
100 1
2 2
1 10
1 10
2 3
100 50
1 1000
400
2
1050