多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > POJ2355――Railway tickets

POJ2355――Railway tickets

來源:程序員人生   發布時間:2014-12-23 08:53:46 閱讀次數:3514次
Railway tickets
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 2710   Accepted: 962

Description

The railway line "Ekaterinburg-Sverdlovsk" with several stations has been built. This railway line can be represented as a line segment, railway stations being points on it. The railway line starts at the station "Ekaterinburg" and finishes at the station "Sverdlovsk", so stations are numbered starting from "Ekaterinburg" (it has number 1) and "Sverdlovsk" is the last station.

Cost of the ticket between any two stations depends only on a distance between them. The prices for the tickets are specified in the following table.

distance between stations -X

price for the ticket

0<X<=L1

C1

L1<X<=L2

C2

L2<X<=L3

C3


Direct tickets from one station to another can be booked if and only if the distance between these station does not exceed L3. So sometimes it is necessary to book several tickets to pay for the parts of the whole way between stations.

For example, on the railway line shown at the figure above there are seven stations. The direct ticket from the second station to the sixth one can not be booked. There are several ways to pay for the travel between these stations. One of them is to book two tickets: one ticket at price C2 to travel between the second and the third stations, and other at price C3 to travel between the third and the sixth stations. Note, that though the distance between the second and the sixth stations is equal to 2*L2, the whole travel can not be paid by booking two tickets at price C2, because each ticket is valid for only one travel and each travel should start and end only at stations.

Your task is to write a program, that will find the minimal cost of the travel between two given stations.

Input

The first line of the input file contains 6 integers L1, L2, L3, C1, C2, C3 (1 <= L1 < L2 < L3 <= 10^9, 1 <= C1 < C2 < C3 <= 10^9) in the specified order with one space between. The second line contains the amount of stations N (2 <= N <= 10000). The third line contains two different integers separated by space. They represent serial numbers of stations, the travel between which must be paid. Next N⑴ lines contain distances from the first station ("Ekaterinburg") on the railway line to others. These distances are given as different positive integers and are arranged in the ascending order. The distance from "Ekaterinburg" to "Sverdlovsk" does not exceed 10^9. The distance between any neighboring stations does not exceed L3. The minimal travel cost between two given stations will not exceed 10^9.

Output

Program should print to the output file the only number, which is the minimal travel cost between two given stations.

Sample Input

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

Sample Output

70

Source

Ural Collegiate Programming Contest 1999

水dp,1開始還想著用線段樹去優化,結果暴力就過了

#include <map> #include <set> #include <list> #include <queue> #include <stack> #include <vector> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <algorithm> using namespace std; const int inf = 0x3f3f3f3f; const int N = 10010; int dp[N]; int sta[N]; int main() { int l1, l2, l3; int c1, c2, c3; int n, s, e; while(~scanf("%d%d%d%d%d%d", &l1, &l2, &l3, &c1, &c2, &c3)) { // printf("%I64d ", inf); scanf("%d", &n); scanf("%d%d", &s, &e); if (s > e) { swap(s, e); } memset (dp, inf, sizeof(dp)); sta[1] = 0; dp[e] = 0; for (int i = 2; i <= n ; ++i) { scanf("%d", &sta[i]); } for (int i = e - 1; i >= s; --i) { for (int j = i; j <= e; ++j) { if (sta[j] - sta[i] > l3) { break; } if (sta[j] - sta[i] <= l1) { dp[i] = min(dp[i], dp[j] + c1); } else if (sta[j] - sta[i] <= l2) { dp[i] = min(dp[i], dp[j] + c2); } else { dp[i] = min(dp[i], dp[j] + c3); } } } printf("%d ", dp[s]); } return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美在线视频播放 | 男女同房视频免费爽爽 | 久久成人性色生活片 | 午夜网站在线播放 | 欧美日韩亚洲天堂 | 欧美日韩视频二区三区 | 99精品视频在线成人精彩视频 | 成人亚洲网站 | 欧美 video| 免费激情视频网站 | 国产亚洲精品美女久久久久 | 免费在线观看视频a | 性欧美video视频另类 | 中文字幕一区视频 | 高清一区二区 | 国产午夜亚洲精品一级在线 | 欧美视频亚洲 | 亚洲无线观看 | 国产成人综合网亚洲欧美在线 | 欧美一级视频免费 | 搞av网 | 亚洲啊v在线| 欧美色久 | 亚州精品永久观看视频 | 久久精品中文字幕极品 | 成人自拍视频网站 | 欧美性猛交xxxxx按摩国内 | 老司机午夜视频在线观看 | 欧美日一级 | 精品国产一区二区三区19 | 日本欧美一区二区三区免费不卡 | 波多野结衣视频免费在线观看 | 日韩欧美中文字幕一区二区三区 | 欧美日韩亚洲区久久综合 | 日韩高清一区二区三区五区七区 | 老妇毛片久久久久久久久 | 日本 免费 高清 | 欧美色欧美亚洲另类二区 | 亚洲区中文字幕 | 91成人福利 | 岛国性视频播放免费视频 |