조직 구성
시간 제한2초메모리 제한512 MB
N개의 점을 k개의 비어 있지 않은 팀으로 나눌 때, 서로 다른 팀에 속한 점 사이의 맨해튼 거리의 최솟값이 최대가 되도록 만든다.
문제
어느 회사에 직원 명이 있고, 이들을 비어 있지 않은 개의 팀으로 나눈다. 이 회사는 무엇이든 수치로 관리한다.
- 직원 는 검사를 두 번 받았고, 그 결과로 두 수 와 를 얻었다.
- 직원 와 의 차이는 이다.
- 회사의 조직력 지수 는 서로 다른 팀에 속한 두 직원 , 에 대한 의 최솟값이다.
내년에도 팀 수는 로 유지하지만, 조직력 지수가 가장 커지도록 직원을 다시 배치한다. 비어 있지 않은 개의 팀으로 나눌 때 얻을 수 있는 조직력 지수의 최댓값을 구하라.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다. ()
각 테스트 케이스의 첫 줄에는 직원 수 과 팀 수 가 공백 하나로 구분되어 주어진다. (, )
이어지는 개의 줄에는 직원 한 명의 검사 결과 와 가 공백 하나로 구분되어 주어진다. ()
출력
각 테스트 케이스마다 얻을 수 있는 조직력 지수의 최댓값을 한 줄에 하나씩 출력한다.
힌트
직원이 , , 세 명이고 라면, 두 팀 모두 비어 있으면 안 되므로 나누는 방법은 세 가지다. 과 로 나누면 이고, 와 로 나누면 이며, 와 로 나누면 이다. 따라서 최댓값은 이다.
직원이 , , , , , 여섯 명이고 라면 나누는 방법이 31가지인데, 과 로 나눌 때 가 으로 가장 크다. 이 값은 와 에서 나온다.