VO 13 Bài 6 - Bảo vệ thành phố

Xem dạng PDF

Gửi bài giải

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

Nguồn bài:
VNOI Online 2013 - Ngày 2 - Lê Ðôn Khuê
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Ở vương quốc Xa Rất Rất Xa, có ~N~ thành phố được đánh số từ ~1~ đến ~N~. Thành phố thứ i nằm ở vị trí có tọa độ (~x_{i}~ , ~y_{i}~). Tuy thế giới vẫn đang trong thời gian hòa bình, vị vua của đất nước tin rằng họ phải luôn sẵn sàng bảo vệ đất nước. Quốc vương quyết định xây một tường thành khép kín có dạng một đa giác để bảo vệ một số thành phố của vương quốc. Các thành phố nằm trong và trên biên giới của tường thành này sẽ có thể yên tâm phát triển trong yên bình. Để đảm bảo cho sự vững chắc của nền kinh tế, phải có ít nhất ~K~ thành phố được bảo vệ. Tuy nhiên, việc xây dựng một tường thành kiên cố là vô cùng tốn kém, vì vậy, Quốc vương muốn chọn phương án xây tương thành có chu vi nhỏ nhất.

Cho tọa độ của ~N~ thành phố, và số nguyên dương ~K~, nhiệm vụ của bạn là tìm một tường thành bao quanh ít nhất ~K~ thành phố với chu vi nhỏ nhất.

Input

  • Dòng thứ nhất gồm 2 số nguyên dương ~N~, ~K~.
  • ~N~ dòng tiếp theo: mỗi dòng chứa 2 số nguyên ~x_{i}~ , ~y_{i}~ là tọa độ của một thành phố trong vương quốc.

Output

  • Ghi ra một số nguyên duy nhất là độ dài nhỏ nhất của tường thành, với độ chính xác ~4~ chữ số sau dấu phẩy.

Giới hạn

  • ~1~ ~\leq~ ~K~ ~\leq~ ~N~ ~\leq~ ~50~. Trong ~35~% số test có ~1~ ~\leq~ ~K~ ~\leq~ ~N~ ~\leq~ ~25~.
  • Các tọa độ có giá trị tuyệt đối không vượt quá ~10^{6}~ .

Sample Input

5 4
1 1
2 5
3 2
3 3
4 1

Sample Output

8.0645

Note

image


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.