CF406D.Hill Climbing
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
本题与 Little Chris 无关,讨论的是“爬山人”(hill climbers)。Chris 绝对不是其中之一。
有 n 座山排成一排,每座山可以视作一条竖直线段的一端在地面上。这些山从左到右依次编号为 1 到 n。第 i 座山在 xi 位置,高度为 yi。对于任意两座山 a 和 b,若从 b 的顶部能看到 a 的顶部,则用绳子连接这两座山的顶部。正式地说,若连接这两座山顶的线段不会与其它任何一座山的线段相交或相切,则这两座山的顶端可连接绳子。通过这些绳索,爬山人可以从一座山移动到另一座山。
有 m 支登山小队,每队正好有两名成员。第 i 支小队的两名登山者分别位于第 ai 座与第 bi 座山的顶部。他们想在某座山顶会合。两名登山者的移动规则如下:
- 如果登山者当前就在对方已经位于(或未来会抵达的)山顶,则这个登山者停在该山顶;
- 否则,他会选择从当前位置通过绳子可到达且靠右的山顶(即可达的最右边的山顶),然后继续上述过程(他可以攀爬比当前山矮的山顶)。

对于每支登山小队,输出这两名成员最终汇合的山顶编号!
输入格式
第一行输入一个整数 n(1≤n≤105),表示山的数量。接下来的 n 行,每行包含两个用空格分隔的整数 xi、yi(1≤xi≤107;1≤yi≤1011),表示第 i 座山的位置和高度。山顶的信息按 xi 严格递增给出,即如果 i<j,那么 xi<xj。
接下来一行输入一个整数 m(1≤m≤105),表示队伍数量。接下来的 m 行,每行包含两个用空格分隔的整数 ai、bi(1≤ai,bi≤n),表示第 i 支队伍的两名成员所在地的山的编号。可能出现 ai=bi。
输出格式
在一行输出 m 个用空格分隔的整数,第 i 个整数表示第 i 支队伍两名成员最终会合的山顶编号。
输入输出样例
输入#1
6 1 4 2 1 3 2 4 3 6 4 7 4 3 3 1 5 6 2 3
输出#1
5 6 3
说明/提示
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?