CF2014D Robert Hood and Mrs Hood
题目描述
让你的兄弟印象深刻,但不要让你的母亲烦恼。
Robin 的兄弟和母亲要来拜访,Robin 可以为每位访客选择开始拜访的日期。
所有日期编号为 $1$ 到 $n$。每位访客会连续停留 $d$ 天,这 $d$ 天必须全部在第 $1$ 天到第 $n$ 天之间。
Robin 总共安排了 $k$ 个“风险”工作。第 $i$ 个工作发生在第 $l_i$ 天到第 $r_i$ 天之间(包含两端),其中 $1 \leq i \leq k$。如果某项工作在访客停留的 $d$ 天中的任意一天发生,则认为该工作与此次拜访有重叠(重叠长度无关紧要)。
Robin 希望他的兄弟的拜访与尽可能多的不同工作重叠,而他的母亲的拜访与尽可能少的不同工作重叠。
请为 Robin 的兄弟和母亲分别选择合适的拜访开始日期。如果有多个合适的日期,选择最早的那个。
输入格式
输入的第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。
每个测试用例的第一行包含三个整数 $n$、$d$、$k$($1 \leq n \leq 10^5, 1 \leq d, k \leq n$),分别表示总天数、每次拜访的持续天数和工作的数量。
接下来每个测试用例有 $k$ 行,每行包含两个整数 $l_i$ 和 $r_i$($1 \leq l_i \leq r_i \leq n$),表示每项工作的开始和结束日期。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出两个整数,分别表示 Robin 的兄弟和母亲的最佳拜访开始日期。两次拜访都必须完全在第 $1$ 天到第 $n$ 天之间。
说明/提示
在第一个测试用例中,唯一的工作覆盖了全部 $2$ 天,两人都应在第 $1$ 天拜访。
在第二个测试用例中,第 $2$ 天与 $2$ 个工作重叠,第 $1$ 天只与 $1$ 个工作重叠。
在第三个测试用例中,Robert 拜访的是第 $[1,2]$ 天,Mrs. Hood 拜访的是第 $[4,5]$ 天。
由 ChatGPT 4.1 翻译