#P1081. [NOIP 2012 提高组] 开车旅行
[NOIP 2012 提高组] 开车旅行
[NOIP 2012 提高组] 开车旅行
- 时间限制:1 秒
- 内存限制:128 MiB
题目描述
有 座从西向东编号为 到 的城市,第 座城市海拔为 ,所有海拔互不相同。城市 间的距离为 。
小 A 和小 B 轮流开车,第一天由 A 驾驶,此后每天换人。他们从城市 出发,只能向编号更大的城市前进,总行程不能超过 。
- B 总是选择东方城市中距离最近的一座;
- A 总是选择东方城市中距离第二近的一座。
若距离相同,海拔较低的城市视为更近。若当前驾驶者没有符合规则的目的地,或到达目的地会让总里程超过 ,旅行立即结束。
请回答:
- 对给定的 ,选择一个起点,使 A 的总里程与 B 的总里程之比最小。若 B 的总里程为 ,比值视为无穷大;多个起点比值相同时,选择海拔最高者。
- 对每组起点 和里程上限 ,求 A、B 各自的总里程。
输入格式
第一行一个整数 。
第二行 个互不相同的整数 。
第三行一个整数 。
第四行一个整数 ,表示询问数。
接下来 行,每行两个整数 。
输出格式
共输出 行。
第一行输出最优起点 。
接下来 行,每行输出两个整数,依次为对应旅行中 A 和 B 的总里程。
样例输入 1
4
2 3 1 4
3
4
1 3
2 3
3 3
4 3
样例输出 1
1
1 1
2 0
0 0
0 0
样例输入 2
10
4 5 6 1 2 3 7 8 9 10
7
10
1 7
2 7
3 7
4 7
5 7
6 7
7 7
8 7
9 7
10 7
样例输出 2
2
3 2
2 4
2 1
2 4
5 1
5 1
2 1
2 0
0 0
0 0
样例说明
样例 1 的城市与距离关系如下图。

数据范围
对于所有数据:,,,,且所有 互不相同。
本题采用独立计分点,各子任务内所有测试点等分。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 20 | |
| 2 | 40 | , |
| 3 | 无特殊限制 |