Submit solution


Points: 0.25 (partial)
Time limit: 0.25s
Memory limit: 512M
Input: stdin
Output: stdout

Problem source:
Không rõ nguồn gốc
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Các bạn đã đọc bộ truyện tranh Nhật Bản Yugi-oh chắc hẳn ai cũng cực kì yêu thích trò chơi bài Magic. Bộ bài và chiến thuật chơi quyết định đến sự thắng thua của đối thủ(mà sự thắng thua thì còn liên quan đến cả tính mạng ~>~ _ ~<~). Vì thế tầm quan trọng của bộ bài là rất lớn. Một bộ bài tốt không chỉ bao gồm các quân bài mạnh mà còn phụ thuộc vào sự hỗ trợ tương tác giữa các quân bài. Bộ bài của Yugi là một bộ bài có sự bổ sung, hỗ trợ cho nhau rất tốt, điều này là ~1~ trong các nguyên nhân khiến Kaiba luôn là kẻ chiến bại.

Tình cờ Kaiba đã tìm được ~1~ quân bài ma thuật mà chức năng của nó là chia bộ bài hiện có của đối thủ ra làm ~K~ phần, mỗi phần có ít nhất ~1~ quân bài (điều này làm giảm sức mạnh của đối thủ). Kaiba quyết định áp dụng chiến thuật này với Yugi. Hiện tại Yugi có trong tay ~N~ quân bài, ~2~ quân bài ~i~, ~j~ có sức mạnh tương tác ~a(i,j)~ ~(a(i, j) = a(j, i))~. Kaiba muốn chia các quân bài thành ~K~ phần theo quy tắc sau:

  • Giả sử ~K~ phần là ~P_1, P_2, ... , P_k~ thì độ giảm sức mạnh giữa ~2~ phần ~u~, ~v~ là ~b(u, v)~ = ~min(a(i, j)~ với ~i~ thuộc ~P_u~, ~j~ thuộc ~P_v~).
  • Độ giảm sức mạnh của bộ bài là ~S~ = ~min(b(u, v))~ với ~1 \leq u~, ~v \leq K~).

Kaiba muốn chia ~K~ phần sao cho ~S~ lớn nhất

Input

  • Dòng đầu là ~2~ số ~N~, ~K~ (~2 \leq K \leq N \leq 200~)
  • ~N~ dòng tiếp theo mỗi dòng là ~N~ số ~a(i, j)~ (~a(i, j)~ ~\leq~ 32767; nếu ~i~ = ~j~ thì ~a(i, j)~ = ~0~)

Output

Gồm ~1~ dòng duy nhất là ~S~ lớn nhất

Sample Input

4 3
0 1 2 3
1 0 2 3
2 2 0 3
3 3 3 0

Sample Output

2

Comments

Please read the guidelines before commenting.


There are no comments at the moment.