세탁기
시간 제한1초메모리 제한512 MB
3차원 공간의 점 100개를 최대 k개(k <= 2)의 그룹으로 나눠 각 그룹 중심까지의 제곱 거리 합을 최소화한다.
문제
옷 벌과 세탁기가 하나 있다. 세탁기는 모든 옷을 한 번에 빨래할 수 있을 만큼 크다. 하지만 색 번짐을 걱정해야 한다. 서로 다른 색의 옷을 세탁기에 함께 넣으면 한 옷의 염료가 다른 옷으로 옮을 수 있다. 구체적으로, 번째 옷의 빨강, 초록, 파랑 색의 양을 각각 , , 라 하자. 벌의 옷을 함께 빨래할 때 색 번짐 는 다음과 같이 정의된다.
여기서 , , 는 각각 , , 의 평균이다. , , 를 가진 번째 옷은 3차원 RGB 공간의 점 로 정의한다. RGB 공간에서 어느 세 점도 한 직선 위에 있지 않고, 어느 네 점도 한 평면 위에 있지 않다고 가정해도 된다.
세탁기는 전기를 많이 소비하므로, 벌의 옷을 최대 개의 그룹으로 나누고 각 그룹마다 세탁기를 한 번씩 돌려야 한다. 총 색 번짐은 각 세탁에서 발생한 색 번짐의 합이다. 벌의 옷 색 정보와 가 주어질 때, 총 색 번짐의 최솟값을 계산하는 프로그램을 작성하시오.
입력
프로그램은 표준 입력에서 데이터를 읽는다. 첫째 줄에 두 정수 (1 ≤ ≤ 100)과 (1 ≤ ≤ 2)가 주어진다. 다음 개의 줄 중 번째 줄에 세 정수 , , (0 ≤ , , ≤ 1,000)가 주어진다.
출력
프로그램은 표준 출력에 결과를 쓴다. 총 색 번짐의 최솟값을 소수점 아래 여섯째 자리에서 반올림하여 정확히 한 줄에 출력한다.