QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#22306. Đường dây điện thoại

Statistics

Farmer John muốn lắp đường dây điện thoại tại trang trại. Tiếc là công ty điện thoại không hợp tác, nên ông phải trả tiền cho một số dây cáp cần để nối trang trại với hệ thống điện thoại.

Có $N$ cột điện thoại đứng lẻ loi, $(1 \le N \le 1,000)$, rải rác trên đất của ông và được đánh số thuận tiện $1..N$; chưa có cáp nào nối chúng. Tổng cộng $P$ cặp cột, $(1 \le P \le 10,000)$, có thể nối bằng cáp; các cặp còn lại cách nhau quá xa.

Cáp thứ $i$ có thể nối hai cột khác nhau $A_i$ và $B_i$, với độ dài $L_i$ đơn vị nếu được dùng, $(1 \le L_i \le 1,000,000)$. Dữ liệu đầu vào không bao giờ nêu một cặp {$A_i,B_i$} quá một lần. Cột $1$ đã nối với hệ thống điện thoại, và cột $N$ ở trang trại. Cần nối các cột $1$ và $N$ bằng một đường đi gồm cáp; những cột khác có thể được dùng hoặc không.

Công ty sẵn sàng cung cấp miễn phí cho Farmer John $K$ dây cáp, $(0 \le K < N)$. Ngoài ra, ông phải trả mức giá bằng độ dài dây cáp dài nhất còn cần (mỗi cặp cột nối bằng một dây cáp riêng), hoặc $0$ nếu không cần cáp bổ sung.

Hãy xác định số tiền nhỏ nhất Farmer John phải trả.

Dữ liệu vào

Đọc đầu vào từ đầu vào chuẩn.

  • Dòng 1: ba số nguyên cách nhau bởi dấu cách: $N$, $P$ và $K$.

  • Các dòng $2..P+1$: dòng $i+1$ chứa ba số nguyên cách nhau bởi dấu cách: $A_i$, $B_i$ và $L_i$.

Dữ liệu ra

Ghi kết quả ra đầu ra chuẩn.

  • Dòng 1: một số nguyên, là số tiền nhỏ nhất Farmer John có thể trả. Nếu không thể nối trang trại với công ty điện thoại, in $-1$.

Ví dụ

Dữ liệu vào 1

5 7 1
1 2 5
3 1 4
2 4 8
3 2 3
5 2 9
3 4 7
4 5 6

Dữ liệu ra 1

4

Ghi chú

Có 5 cột. Cột $1$ không thể nối trực tiếp với cột $4$ hoặc $5$. Cột $5$ không thể nối trực tiếp với cột $1$ hoặc $3$. Mọi cặp khác đều có thể nối. Công ty sẽ cung cấp một dây cáp miễn phí.

Nếu nối cột $1$ với $3$, cột $3$ với $2$, và cột $2$ với $5$, Farmer John cần cáp dài $4$, $3$ và $9$. Công ty sẽ cung cấp dây dài $9$, nên dây còn cần dài nhất có độ dài $4$.

Tác giả bài toán: Paul Christiano, 2007

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.