1484 Bus

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 : 65536/32768 KB(Java/Others)

Submits : 72 | Solved : 14

题目描述

公共交通系统是每个城市最为基础的设施之一。为了市民的出行方便,宁波公交总公司拟决定增加若干条公交线路。

对于新增加的公交线路来说,定价成了一个大问题:有许多公交线路较长,如果使用均一价进行定价,低了会造成巨额亏损,高了又会损害市民的利益。在参考了许多地方的设计后,宁波公交总公司的路线设计师决定:

1、对于有 N 个站点的公交线路,将站点按照行驶顺序从 1 到 N 编号。按照行驶方向的不同,公交车会依次从 1 号站开往 2 号站、3 号站、……、N 号站,或者相反。

2、每个要乘坐公交车的市民都会从某个站上车,然后再从某个站下车。按照常理,不会有一个乘客在同一个站上下车。上车站的编号既可能小于下车站,也可能大于下车站,分别对应着不同的行驶方向。

3、定价方法是:如果上车站到终点站(按照行驶方向)的距离小于等于 5 公里,则一定为 2 元;否则按照下车站到终点站的距离的不同进行收费,具体为 10 元减去下车站到终点站的距离。例如下车站与终点站相差 3 公里,则收费 7 元(10 - 3)。如果这个距离大于 8 公里,则一律收费 2 元。

现在给定一条公交线路以及站之间的路程长度,以及某位市民的上车站与下车站,请你帮路线设计师算出他应该付多少钱来乘车?


输入要求

输入包含多组数据。保证总数据组数不超过 100 组。组间没有空行。

每组数据第一行是一个整数 N (2 ≤ N ≤ 10),表示给定的线路有 N 个站。

接下来的一行有 N - 1 个整数,第 i 个数表示第 i 个站到第 i + 1 个站的距离(单位是公里)。距离为小于等于 10 的非负整数。

再接下来的一行有两个整数 XY (1 ≤ X, YN),表示有一位市民在第 X 个站上车,在第 Y 个站下车。


输出要求

输出只有一行,表示市民需要花费多少钱来乘车。


输入样例

5
3 1 2 2
1 3
5
3 1 2 2
2 3

输出样例

6
2

提示


来源

ZJU

[ 返回顶端 ] | [ 代码提交 ]