아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Calender Colors

면접 대비

시간 제한5초메모리 제한512 MB

요약
N개의 Lab 색 중 M개를 골라 선택한 집합의 모든 쌍에 대한 제곱 유클리드 거리 합이 최대가 되도록 한다.
난이도

보통10점 중 5점

유형
완전 탐색, 조합론, 기하, 수학
정답자
아직 제출이 없습니다

문제

Taro는 프로그래밍 콘테스트 동아리 소속이다. 이 동아리 회원들은 Great Web Calender라는 시스템으로 일정을 관리한다.

Taro는 방금 친구 몇 명을 자신의 캘린더에 추가해서 그들의 일정을 자신의 캘린더에서 볼 수 있게 했다. 그런데 시스템이 모든 일정을 한 가지 색으로 표시하고 있어서 친구들의 일정이 전부 섞여 보인다. 각 일정이 누구의 것인지 구분하기 어려워 관리하기가 힘들다.

사실 이 캘린더 시스템에는 일정을 가진 사람에 따라 일정 항목의 색을 바꾸는 기능이 있다. Taro는 그 기능으로 일정을 색깔별로 구분하려고 한다.

Taro가 쓸 수 있는 색과 회원 수가 주어졌을 때, 모든 일정 항목에 색을 칠할 색의 부분집합을 계산하는 것이 과제다. 색은 "Lab 색 공간"으로 주어진다.

Lab 색 공간에서 두 색 사이의 거리는 각 성분 차이의 제곱합으로 정의된다. Taro는 집합 안의 모든 색 쌍에 대한 거리의 합을 최대로 만드는 색의 부분집합을 골라야 한다.

입력

입력은 다음과 같은 형식이다.

N M
L0 a0 b0
L1 a1 b1
…
LN−1 aN−1 bN−1

첫 줄에는 두 정수 N과 M(0≤M≤N≤20)이 주어진다. N은 입력으로 주어지는 색의 수, M은 Taro가 색을 고를 친구의 수다. 이어지는 N개 줄에는 각각 Lab 색 공간의 색 하나를 나타내는 세 정수 L(0.0≤L≤100.0), a(−134.0≤a≤220.0), b(−140.0≤b≤122.0)가 주어진다.

출력

총 거리의 최댓값을 출력한다. 출력의 오차는 10−5보다 크면 안 된다.

예제3

  1. 예제 1

    입력
    3 2
    0 0 0
    10 10 10
    100 100 100
    
    예상 출력
    30000.00000000000000000000
    
  2. 예제 2

    입력
    5 3
    12.0 15.0 9.0
    10.0 -3.0 2.2
    3.5 6.8 9.0
    2.1 4.4 5.9
    1.2 4.0 -5.4
    
    예상 출력
    1003.44000000000005456968
    
  3. 예제 3

    입력
    2 1
    1.0 1.0 1.0
    0.0 0.0 0.0
    
    예상 출력
    0.00000000000000000000