题目名称 | 189. [Ural 1031] 火车票 |
---|---|
输入输出 | rail.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 16 |
题目来源 | BYVoid 于2008-10-27加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:107, 提交:329, 通过率:32.52% | ||||
ljt | 100 | 0.013 s | 0.46 MiB | C++ |
pztl | 100 | 0.015 s | 0.47 MiB | C++ |
OIdiot | 100 | 0.020 s | 0.70 MiB | C++ |
Ezoi_XY | 100 | 0.021 s | 0.22 MiB | Pascal |
cstdio | 100 | 0.027 s | 0.38 MiB | C++ |
kaaala | 100 | 0.034 s | 0.45 MiB | C++ |
WHZ0325 | 100 | 0.159 s | 0.36 MiB | C++ |
dateri | 100 | 0.165 s | 0.04 MiB | C++ |
cy | 100 | 0.172 s | 0.04 MiB | C++ |
521 | 100 | 0.174 s | 0.04 MiB | C++ |
关于 火车票 的近10条评论(全部评论) | ||||
---|---|---|---|---|
这起点比终点靠后……我也是醉了……
浮生随想
2016-09-26 11:58
4楼
| ||||
为什么我的代码s和t非要定义long long?
| ||||
注意起点和终点的·大小
| ||||
沙发
|
现在有一条“叶卡特琳堡-斯维尔德洛夫斯克”铁路线。它有若干个火车站。这个铁路线可以用一条线段来表示,而火车站就是线段上的点。铁路起始于叶卡特琳堡(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