DHBB 2017 - CTP - 11 - Robot

Xem dạng PDF

Gửi bài giải

Điểm: 0,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

HD vừa sáng tạo ra một trò chơi điều khiển robot mới cho 2 bé Bi, Bo chơi. Nội dung trò chơi như sau:

  • Có ~N~ cây cột đánh số từ 1 đến ~N~, cây cột thứ ~i~ có chiều cao ~h[i]~ (m).
  • Có ~M~ đường nhảy dạng ~(i, j, t)~ tương ứng là nhảy từ cây ~i~ sang cây ~j~ (hoặc từ cây ~j~ sang cây ~i~) mất ~t~ (s) và nếu nhảy từ độ cao ~h~ (~h \in \mathbb{N}, h \le h[i]~) của cây ~i~ thì sang cây ~j~ sẽ có độ cao là ~h - t~ với điều kiện ~0 \le h - t \le h[j]~.
  • Nếu robot di chuyển lên xuống trên cột hiện tại, thời gian di chuyển mất 1(s) trên 1m di chuyển.

Hiện tại robot đang ở độ cao ~X~ của cây 1, Bi-Bo cần phải tìm phương án di chuyển nhanh nhất đến độ cao ~h[N]~ của cây ~N~.

Yêu cầu: Tính thời gian di chuyển ngắn nhất thỏa mãn yêu cầu đầu bài.

Input

  • Dòng 1: Chứa 3 số nguyên dương ~N, M, X~ ~(2 \le N \le 100.000; 1 \le M \le 300.000; 0 \le X \le h[1])~.
  • ~N~ dòng tiếp theo, dòng thứ ~i~ chứa 1 số nguyên dương ~h[i]~ ~(1 \le h[i] \le 1.000.000.000)~.
  • ~M~ dòng tiếp theo, mỗi dòng chứa 3 số nguyên dương ~i, j, t~ ~(1 \le t \le 1.000.000.000)~.

Output

  • Một số duy nhất là thời gian ngắn nhất để robot di chuyển đến độ cao ~h[N]~ của cây ~N~, nếu không thể di chuyển đến thì ghi -1.

Sample Input 1

5 5 0
50
100
25
30
10
1 2 10
2 5 50
2 4 20
4 3 1
5 4 20

Sample Output 1

110

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.