题目名称 189. [Ural 1031] 火车票
输入输出 rail.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 16
题目来源 GravatarBYVoid 于2008-10-27加入
开放分组 全部用户
提交状态
分类标签
动态规划 Ural
分享题解
通过:107, 提交:329, 通过率:32.52%
Gravatarljt 100 0.013 s 0.46 MiB C++
Gravatarpztl 100 0.015 s 0.47 MiB C++
GravatarOIdiot 100 0.020 s 0.70 MiB C++
GravatarEzoi_XY 100 0.021 s 0.22 MiB Pascal
Gravatarcstdio 100 0.027 s 0.38 MiB C++
Gravatarkaaala 100 0.034 s 0.45 MiB C++
GravatarWHZ0325 100 0.159 s 0.36 MiB C++
Gravatardateri 100 0.165 s 0.04 MiB C++
Gravatarcy 100 0.172 s 0.04 MiB C++
Gravatar521 100 0.174 s 0.04 MiB C++
关于 火车票 的近10条评论(全部评论)
这起点比终点靠后……我也是醉了……
Gravatar浮生随想
2016-09-26 11:58 4楼
为什么我的代码s和t非要定义long long?
GravatarGaoErFu
2016-05-07 15:40 3楼
注意起点和终点的·大小
Gravatarforever
2015-10-22 06:19 2楼
沙发
Gravatar旧梦
2015-10-16 16:37 1楼

189. [Ural 1031] 火车票

★★   输入文件:rail.in   输出文件:rail.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

现在有一条“叶卡特琳堡-斯维尔德洛夫斯克”铁路线。它有若干个火车站。这个铁路线可以用一条线段来表示,而火车站就是线段上的点。铁路起始于叶卡特琳堡(Eakterinburg),终止于斯维尔德洛夫斯克(Sverlovsk),且各站从叶卡特琳堡(它的编号是1)至斯维尔德洛夫斯克(终点编号)。


两个站之间的票价仅跟两站间的距离有关系。票价规定如下表。

两站间距离 - X

票价

0<X<=L1

C1

L1<X<=L2

C2

L2<X<=L3

C3

当且仅当两站间距离不大于L3时才能购买这两站之间的直达车票。所以有时须要购买若干张票来完成整个旅行。

例如,在上图,整条铁路有七个站。从第2站不能直达第6站(因为距离大于L3),但有另外几种方法购票。其中一种是买两张票:一张是从第2站至第3站(票价为C2),另一张是从第3站至第6站(票价为C3),注意,虽然从第2站至第6站的距离为2×L2,但不可以买两张价值C2的票,因为一张票只可以用一次且起点和终点必须在车站上。

你的任务时计算给出的两站之间的最小花费。

【输入格式】

输入的第一行包含六个由空格隔开的整数L1,L2,L3,C1,C2,C3(1<=L1<L2<L3<=10^9,1<=C1<C2<C3<=10^9)。第二行为车站数N(2<=N<=10000)。第三行有两个由空格隔开的不等的整数,表示旅行起点和终点。接下来的N-1行为起点(叶卡特琳堡)至其它站的距离。这些距离为互不相等的正整数而且呈上升序列。从叶卡特琳堡至斯维尔德洛夫斯克的距离不超过10^9。任意两相邻站之间的距离不超过L3。旅行最小花费不超过10^9。

【输出格式】

一个整数------最小花费。

【输入样例】

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

【输出样例】

70