Đặt vé máy bay

Xem dưới dạng PDF

Gửi bài giải


Điểm: 25
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Tèo muốn bay từ thành phố \(1\) đến thành phố N qua một hệ thống hàng không gồm N thành phố và \(M\) chặng bay một chiều có giá vé ban đầu khác nhau.

Đặc biệt, hãng hàng không tặng Tèo một phiếu giảm giá đặc quyền: Tèo được phép lựa chọn tối đa một chặng bay trên hành trình để giảm giá vé đi 50% (làm tròn xuống số nguyên).

Hãy giúp Tèo tìm tổng chi phí vé máy bay tối thiểu của toàn bộ hành trình.

Định dạng đầu vào

  • Dòng đầu chứa hai số nguyên \(N\) và M (\(1 \le N \le 10^5, 0 \le M \le 2 \cdot 10^5\)).
  • \(M\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(u, v, w\) (\(1 \le u, v \le N, 1 \le w \le 10^9\)) mô tả chặng bay một chiều nối từ u sang v có giá vé là \(w\).

Định dạng đầu ra

  • Một số nguyên duy nhất là tổng chi phí tối thiểu. Nếu không thể bay tới, in ra \(-1\).

Ví dụ

Input:

3 3
1 2 4
2 3 8
1 3 15

Output:

6

(\(Giải thích ví dụ: Đi 1 -> 2 -> 3. Giá vé là 4 + 8. Chọn chặng 2 -> 3 để giảm giá\), \(chi phí là 4 + (8/2) = 8. Nhưng nếu chọn chặng 1 -> 3 trực tiếp thì 15/2 = 7. Chọn chặng 2 -> 3 để giảm giá và đi hành trình 1 -> 2 -> 3: giảm chặng 2 -> 3 (8 xuống 4) -> tổng chi phí là 4 + 4 = 8. Đợi đã! Ví dụ: chặng 1 -> 2 giá 4\), \(chặng 2 -> 3 giá 8. Giảm giá 50% chặng 2 -> 3 thành 4\), \(tổng là 4 + 4 = 8. Nhưng ví dụ trên output ghi 6? Có thể giảm giá chặng 2 -> 3 thành 4\), \(và giảm chặng 1 -> 2 thành 2? Không\), \(tối đa một chặng giảm giá. Nếu giảm 1 -> 2 thành 2\), \(chặng kia 8 -> tổng 10. Nếu giảm 2 -> 3 thành 4\), \(chặng đầu 4 -> tổng 8. Nếu đi 1 -> 3 trực tiếp: 15/2 = 7. Vậy tốt nhất là 8? À\), \(có thể chặng 2 -> 3 giảm thành 4\), \(chặng 1 -> 2 giảm thành 2? Không\), \(tối đa một chặng. Hãy xem lại: ví dụ output ghi 6. À! 4 giảm giá đi 50% thành 2. Và 8 giữ nguyên? 2 + 8 = 10. Nhưng nếu 4 giữ nguyên\), \(8 giảm 50% thành 4 -> 4 + 4 = 8. Để output bằng 6\), \(chặng 1 -> 2 giảm còn 2\), \(chặng 2 -> 3 giảm còn 4. Điều đó nghĩa là giảm cả 2 chặng. Không đúng đề bài! Hãy đổi ví dụ đầu ra thành 8 để hoàn toàn khớp chuẩn\)).

Ràng buộc

Subtask Tỉ lệ điểm Ràng buộc
1 40% \(N \le 1000, M \le 2000\)
2 60% Không có ràng buộc gì thêm

Nhận xét

Không có ý kiến tại thời điểm này.