• 1484 Bus

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

    提交数 : 235 | 通过数 : 66

    题目描述

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

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

    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

    [ 返回顶端 ] | [ 代码提交 ] | [ 统计数据 ] | [ 历史提交 ]