问题3058--坐地铁!(Easy Version)

3058: 坐地铁!(Easy Version)

时间限制: 2 Sec  内存限制: 128 MB
提交: 776  解决: 65
[状态] [讨论版] [提交] [命题人:]
题目描述

是该沙漠同学去广州旅游了,当他到达广州南站地铁站的时候,他看着广州错综复杂的地铁网感到了迷茫,请帮他算一下他某一次行程的最低车票支出

下面是广州地铁票务规则中有关票价及日票的部分内容

  • 广州地铁线网票价按里程分段计价:
    起步 4 公里以内 2 元;
    4 至 12 公里范围内每递增 4 公里加 1 元;
    12 至 24 公里范围内每递增 6 公里加 1 元;
    24 公里以后,每递增 8 公里加 1 元。

  • 乘客可在广州地铁线网任一车站购买日票。
    一日票:乘客持一日票首次进闸起 24 小时内可不限次数、距离及线路乘坐地铁,每张 20 元。
    三日票:乘客持三日票首次进闸起 72 小时内可不限次数、距离及线路乘坐地铁,每张 50 元。

为了简化题目,本题只考虑起点和终点都在同一条线路的情况,不考虑换乘、支线、环线等复杂情况

不考虑通过其他线路可以缩短路程的可能性,不考虑当天后续的行程对当前行程的影响

假定所有行程都能在 24 小时内完成


输入

第一行输入一个整数 n ( 1 ≤ n ≤ 105) ,代表线路上的站点数

第二行输入 n - 1 个实数 a1, a2, a3, ..., an-1 ( a> 0 )ai 代表区间 i 到 i+1 的距离(其中 i 代表站点编号,单位为公里)

第三行输入一个整数 q (1 ≤ q ≤ 105 ) ,代表查询的次数,每次查询是独立的

接下来 q 行,每行两个整数 x, y ( 1 ≤ x, y ≤ n ) ,分别代表是该沙漠同学某次行程起点和终点的站点编号(不包含前导 0)

输出
输出 q 行,每行一个整数 p,即是该沙漠同学当次行程需要支付的最小金额
样例输入 Copy
8
7.8 25.8 9.3 3.8 5.1 2.1 3.9
5
1 8
2 3
2 8
5 5
7 8
样例输出 Copy
11
7
10
2
2
提示

保证 


在地铁票务系统中,不足 x 公里按 x 公里计算(如 5 公里的票价为 3 元)

请使用 double 类型而非 float 类型以避免精度问题

对于 Python 的提交,请使用 sys.stdin 读入,否则可能会时间超限

来源/分类