Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
RTICKET - Mua vé tàu hỏa |
Tuyến đường sắt từ thành phố A đến thành phố B đi qua một số nhà ga. Có thể biểu diễn như là các điểm trên đoạn thẳng AB. Nhà ga A có số hiệu 1, nhà ga tiếp theo là 2,... nhà ga cuối cùng tại B có số hiệu N. Giá vé đi thẳng giữa hai nhà ga nào đó phụ thuộc vào khoảng cách giữa chúng. Cách tính giá vé như sau: Gọi khoảng cách giữa hai ga là x
- Nếu 0 ≤ x ≤ L1 thì giá vé là C1
- Nếu L1 < x ≤ L2 thì giá vé là C2
- Nếu L2 < x ≤ L3 thì giá vé là C3
Vé đi thẳng từ nhà ga này đến nhà ga khác chỉ có thể đặt mua nếu khoảng cách giữa chúng không vượt quá L3. Vì thế nhiều khi để đi từ ga này đến ga khác ta phải mua một số vé.
Yêu cầu: tìm cách đặt mua vé để đi lại giũa hai nhà ga cho trước với chi phí mua vé nhỏ nhất.
Dữ liệu vào:
- Dòng đầu tiên ghi các số L1, L2, L3, C1, C2, C3.
- Dòng thứ hai ghi số N là số lượng nhà ga.
- Dòng thứ ba ghi 2 số nguyên s và t là số hiệu nhà ga xuất phát và đích.
- Dòng thứ i trong N – 1 dòng tiếp theo ghi số nguyên dương không vượt quá 109 là khoảng cách từ nhà ga 1 (tại A) đến nhà ga i + 1.
Dữ liệu ra:
Một số nguyên duy nhất là chi phí nhỏ nhất tìm được (biết rằng luôn có cách mua vé để đi lại giữa hai ga bất kỳ)
Ví dụ:
Dữ liệu vào:
3 6 8 20 30 40
7
2 6
3
7
8
13
15
23
Dữ liệu ra:
70
Giới hạn: 1 ≤ L1 < L2 < L3 ≤ 109; 1 ≤ C1 < C2 < C3 ≤ 109; 1 ≤ N ≤ 104.
Được gửi lên bởi: | noname00.pas |
Ngày: | 2018-05-23 |
Thời gian chạy: | 0.100s-1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-FPC PYTHON PYTHON3 |
Nguồn bài: | Bài tập thực hành Chuyên Sơn La |