《程序设计基础二》类的设计部分练习题目:1432--1446,运算符重载部分练习题目:1447--1461

Problem 1905. -- 火车票

1905: 火车票

Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lld
Submitted: 50  Accepted: 18
[Submit][Status][Web Board]

Description

 从Ekaterinburg到Sverdlovsk的火车线路上有若干个站点。这条线路可以近似的表示为一条线段,火车站就是线段上的点。线路始于Ekaterinburg,终于Sverdlovsk。Ekaterinburg被标号为1,Sverdlovsk被标号为n。n为整条线路上的站点数。
   线路上的任意两个站点间的直达票价是由它们间的距离决定的,票价根据以下规则制定:(X为两站的距离)
        如果      0<X<=L1  则价格为C1
        如果    L1<X<=L2  则价格为C2
        如果    L2<X<=L3  则价格为C3
        如果两站的间距超过L3,则无直达车票。所以有时可能有必要买多张票,通过转车的方式,从一个站到达另一个站。 
        你的任务是,找出一种最经济的中转方案。

Input

    第一行6个整数L1,L2,L3,C1,C2,C3,中间用一个空格分隔,其中:1<=L1<L2<L3<=10^9, 1<=C1<C2<C3<=10^9。
    第二行一个整数n(2<=n<=100),表示线路上的车站数。
    第三行两个整数s和t,分别是起点和终点的编号。注意:s不一定小于t。
    以下的n-1行,按据Ekaterinburg远近,每行描述了一个车站的位置。它包含一个整数,表示该车站据Ekaterinburg的距离。
任意两个车站的距离不超过10^9,任意两个相邻的车站的距离不超过L3。

Output

仅一个整数,表示从给定的一个站到给定的另一个站的最小花费。

Sample Input

3 6 8 20 30 40
7
2 6
3
7
8
13
15
23

Sample Output

70

Source

[Submit][Status][Web Board]