ĐI CHƠI

Sau bao ngày học hành vất vả và dịch Covid-19 đã được kiểm soát, Tít cùng \(m\) người bạn của mình lên kế hoạch để đi chơi. Nhà của Tít và các bạn của Tít nằm trên cùng 1 con đường, các nhà được đánh vị trí từ 1 đến \(n\), mỗi nhà cách nhau 1 mét. Nhà của Tít ở vị trí 1 và địa điểm vui chơi ở vị trí \(n\). Nhà \(m\) người bạn của Tít ở các vị trí \(a_{1},\ a_{2},...,\ a_{m}\). Ngoài ra trên tuyến đường còn có \(p\) trạm xe buýt tại các vị trí \(b_{1},\ b_{2},\ ...,\ b_{p}\).

Từ nhà mình, Tít lần lượt đi đến nhà của các bạn mình theo kế hoạch. Tít có thể đi bằng taxi hoặc xe buýt. Với taxi, Tít có thể bắt từ bất kì vị trí nào, giá của taxi là \(t\) đồng/mét. Với xe buýt, Tít chỉ có thể bắt từ trạm này và đi đến một trạm khác, giá của xe buýt là \(b\) đồng/lượt không phân biệt khoảng cách. Do còn phải để dành tiền để đi chơi, Tít không thể lãng phí quá nhiều tiền cho việc đi lại. Bạn hãy giúp Tít tìm cách đi đón tất cả các bạn và đến điểm vui chơi với số tiền phải trả là ít nhất nhé!

Yêu cầu: Cho biết số nhà trên đường, các nhà phải đến đón, số trạm xe buýt và số tiền đi xe taxi, xe buýt, bạn hãy tìm cách đi cho Tít sao cho đến thăm đúng thứ tự các nhà và đến vị trí \(n\) với số tiền ít nhất.

Dữ liệu vào:

- Dòng thứ nhất chứa các số nguyên \(n,\ m,\ p,\ t,\ b\): Là vị trí điểm vui chơi, các nhà phải đón, số trạm xe buýt và số tiền đi taxi, xe buýt \((1 \leq n \leq 10^{9};\ 0 \leq m,p \leq 10^{5}\ ;\ 1 \leq t,b \leq 10^{4})\).

- Dòng thứ hai chứa \(m\) số nguyên là thứ tự các nhà phải đến, số thứ \(a_{i}\) là vị trí của nhà thứ \(i\) \((1 \leq a_{i} \leq n)\). Dữ liệu cho đảm bảo không có 2 nhà trùng vị trí.

- Dòng cuối cùng chứa \(p\) số nguyên là vị trí các trạm xe buýt theo thứ tự tăng dần, số thứ \(b_{i}\) là vị trí của trạm thứ \(i\), mặc định có trạm ở vị trí 1 và \(n\ (1\ \leq \ b_{i}\ \leq \ n)\).

Dữ liệu ra:

+ Ghi 1 số nguyên duy nhất là số tiền ít nhất phải trả.

Ví dụ:

Input Output Giải thích
10 2 2 1000 2000
5 8
4 7
8000 - Đầu tiên Tít đi xe buýt từ 1 đến 4.
- Sau đó đi taxi từ 4 đến 5, 5 đến 8 và 8 đến 10.
Tổng số tiền là 2000+1000+3000+2000=8000 đồng.

Ràng buộc:

  • Subtask 1 (40%): \(n,m,p\ \leq \ 20\).

  • Subtask 2 (40%): \(n,m,p\ \leq \ 100\).

  • Subtask 3 (20%): \(n\ \leq \ 10^{9};\ 0 \leq \ m,p\ \leq \ 10^{5}\).

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. trungnam (6/7)
  2. sythai (5/8)
  3. npk1605 (5/10)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]