Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P176PROD - ROUND 6D - Thành phố Piltover |
Caitlyn là cảnh sát trưởng của thành phố Piltover. Thành phố Piltover bao gồm thị trấn được kết nối với nhau bởi con đường hai chiều. Mỗi con đường nối hai thị trấn với nhau và toàn bộ hệ thống đường được thiết kế sao cho người ta có thể đi từ bất kì thị trấn nào đến thị trấn khác bằng cách sử dụng một số con đường nhất định. Có thị trấn đang bị tấn công bởi một nhóm tội phạm do Jinx cầm đầu. Vì vậy Caitlyn phải ngay lập tức đến các thị trấn bị tấn công để bắt những tên tội phạm. Hơn nữa, đi qua một con đường Caitlyn sẽ mất đúng một mana – đơn vị đo năng lượng của thành phố Piltover.
Tuy nhiên, Caitlyn hiện tại đang không ở Piltover mà cô đang tham gia một khóa huấn luyện tại Summoner’s Rift. May mắn cho cô là có một thiết bị ở Summoner’s Rift giúp cô dịch chuyển từ Summoner’s Rift đến bất kì thị trấn nào của Piltover. Vì thiết bị này rất đắt nên Caitlyn chỉ được dịch chuyển đúng một lần.
Bạn hãy giúp Caitlyn bằng cách tính toán thị trấn mà Caitlyn sẽ đáp xuống đầu tiên để kết thúc nhiệm vụ của mình mà sử dụng số năng lượng ít nhất (tính bằng mana). Ngoài ra cho cô biết số năng lượng ít nhất để cô chuẩn bị trước.
Input
Dòng đầu chứa số nguyên n và m (1 <= n <= m <= 123456) lần lượt là số thị trấn của Piltover và số thị trấn bị tấn công.
n - 1 dòng tiếp theo mô tả hệ thống đường của Piltover. Mỗi dòng chứa hai thị trấn ui, vi (1 <= ui <= vi <= n) - con đường thứ i nối hai thị trấn ui và vi.
Dòng cuối cùng gồm m thị trấn là các thị trấn bị tấn công.
Output
Dòng đầu chứa thị trấn mà Catilyn dịch chuyển đến. Nếu có nhiều thị trấn tối ưu, in ra thị trấn có chỉ số nhỏ nhất.
Dòng tiếp theo chứa lượng mana mà Catilyn phải sử dụng ít nhất để có thể đi đến tất cả thị trấn bị tấn công.
Example
Input:
4 5
2 3
2 1
3 5
4 3
4 2 5 1
Output:
1
5
Được gửi lên bởi: | adm |
Ngày: | 2017-03-24 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |