N개의 점을 k개의 비어 있지 않은 팀으로 나눌 때, 서로 다른 팀에 속한 점 사이의 맨해튼 거리의 최솟값이 최대가 되도록 만든다.
보통7이분 탐색정렬기하아직 제출이 없습니다시간 제한2초메모리 제한512 MB어느 회사에 직원 N명이 있고, 이들을 비어 있지 않은 k개의 팀으로 나눈다. 이 회사는 무엇이든 수치로 관리한다.
내년에도 팀 수는 k로 유지하지만, 조직력 지수가 가장 커지도록 직원을 다시 배치한다. 비어 있지 않은 k개의 팀으로 나눌 때 얻을 수 있는 조직력 지수의 최댓값을 구하라.
첫 줄에 테스트 케이스의 개수 T가 주어진다. (1≤T≤10)
각 테스트 케이스의 첫 줄에는 직원 수 N과 팀 수 k가 공백 하나로 구분되어 주어진다. (2≤k≤10, k≤N≤1000)
이어지는 N개의 줄에는 직원 한 명의 검사 결과 x와 y가 공백 하나로 구분되어 주어진다. (0≤x,y≤100000)
각 테스트 케이스마다 얻을 수 있는 조직력 지수의 최댓값을 한 줄에 하나씩 출력한다.
직원이 (0,0), (2,2), (3,2) 세 명이고 k=2라면, 두 팀 모두 비어 있으면 안 되므로 나누는 방법은 세 가지다. {(0,0)}과 {(2,2),(3,2)}로 나누면 SI=min{4,5}=4이고, {(0,0),(2,2)}와 {(3,2)}로 나누면 SI=min{5,1}=1이며, {(0,0),(3,2)}와 {(2,2)}로 나누면 SI=min{5,1}=1이다. 따라서 최댓값은 4이다.
직원이 (0,1), (0,0), (1,0), (2,2), (2,3), (3,2) 여섯 명이고 k=2라면 나누는 방법이 31가지인데, {(0,1),(0,0),(1,0)}과 {(2,2),(2,3),(3,2)}로 나눌 때 SI가 3으로 가장 크다. 이 값은 D((0,1),(2,2))와 D((1,0),(2,2))에서 나온다.