CF1510H.Hard Optimization
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定 n 个线段 [Li,Ri],所有 2n 个线段端点均为两两不同的整数。
这些线段构成“层状集”——任意两条线段要么互不相交,要么一条完全包含另一条。
你需要在每条线段 [Li,Ri] 内选择一个非空子线段 [li,ri],其中 Li≤li<ri≤Ri,使得所有选出的子线段两两不相交(但允许端点重合),并且使得它们长度之和 ∑i=1n(ri−li) 最大。
输入格式
第一行包含一个整数 n(1≤n≤2⋅103),表示线段的数量。
接下来的 n 行,每行包含两个整数 Li 和 Ri(0≤Li<Ri≤109),表示第 i 条线段的两个端点。
所有 2n 个端点均为不同的整数。给定的线段集合是层状集。
输出格式
第一行输出最大可能的子线段长度和。
接下来的 n 行,每行输出两个整数 li 和 ri(Li≤li<ri≤Ri),表示第 i 条线段中选出的子线段。
输入输出样例
输入#1
4 1 10 2 3 5 9 6 7
输出#1
7 3 6 2 3 7 9 6 7
说明/提示
下方的示例输入输出配有示意图。


由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?