Hệ thống nước
Đề bài
Mô tả
Nhà bác Sơn ở huyện Mộc Châu, Sơn La có một trang trại nuôi bò sữa lớn. Để cung cấp đủ thức ăn cho bò, bác phải trồng rất nhiều cỏ. Mùa hè năm nay, bác đã quyết định làm một hệ thống tưới nước cho () đồng cỏ của mình. Để thuận tiện, các đồng cỏ được đánh số từ đến . Để tưới nước cho một đồng cỏ, bác có thể chọn cách: một là đào ở đồng cỏ đó cái giếng, hai là lắp ống nối dẫn nước từ một đồng cỏ khác đã có nước tưới.
Để đào một cái giếng ở đồng cỏ cần số tiền là (). Lắp ống dẫn nước nối đồng cỏ và cần số tiền là ( với ; ; ).
Nước chảy được theo cả hai chiều của ống và qua nhiều ống liên tiếp, nên một đồng cỏ có nước nếu tại đó có giếng hoặc từ đó đi theo các ống đã lắp tới được một đồng cỏ có giếng. Thứ tự lắp đặt không quan trọng: "đồng cỏ đã có nước" không phụ thuộc vào số thứ tự của đồng cỏ (xem ví dụ , nước đi từ đồng cỏ sang đồng cỏ rồi sang các đồng cỏ , ).
Yêu cầu: Tính xem bác Sơn phải chi ít nhất bao nhiêu tiền để tất cả các đồng cỏ đều có nước.
Dữ liệu vào
- Dòng đầu tiên ghi số nguyên dương là số đồng cỏ.
- Các dòng : dòng chứa một số nguyên duy nhất .
- Các dòng : dòng chứa số nguyên cách nhau bởi dấu cách; số thứ là .
Dữ liệu ra
Ghi ra một số nguyên duy nhất là chi phí tối thiểu để cung cấp nước cho tất cả các đồng cỏ.
Ràng buộc
- .
- .
- với ; ; .
Subtasks
- Subtask 1 ( số điểm): , , .
- Subtask 2 ( số điểm): , , .
- Subtask 3 ( số điểm): , , .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 5 4 4 3 0 2 2 2 2 0 3 3 2 3 0 4 2 3 4 0 |
9 | Mất tiền để đào giếng ở đồng cỏ , tiền ở đồng cỏ , và tiền ở đồng cỏ . Các ống tốn , hoặc tiền tùy theo hai đồng cỏ được nối. Bác Sơn đào giếng ở đồng cỏ và lắp ống nối đồng cỏ với cả đồng cỏ còn lại, tổng chi phí . |
| 3 2 3 1 0 1 6 1 0 6 6 6 0 |
4 | Ví dụ bổ sung (không có trong đề gốc). Đào giếng ở đồng cỏ và đồng cỏ , lắp ống nối đồng cỏ với đồng cỏ : . Chỉ đào một giếng thì tốn ít nhất . |
| 1 7 0 |
7 | Ví dụ bổ sung (không có trong đề gốc). Chỉ có một đồng cỏ, phải đào giếng. |
Bình luận