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

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

저전력

시간 제한4초메모리 제한256 MB

요약
2nk개 배터리를 k개씩 묶어 각 묶음의 최솟값 두 개씩을 한 기계에 배정할 때 기계별 출력 차이의 최댓값을 최소화합니다.
난이도

보통10점 중 6점

유형
이분 탐색, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

기계에 들어갈 고성능 칩을 만들고 있습니다. 칩 자체를 만드는 것은 쉽지만, 사용할 수 있는 배터리마다 출력이 제각각이라 전원 공급이 까다롭습니다.

기계가 nn대 있습니다. 각 기계에는 칩이 두 개 있고, 각 칩은 정확히 kk개의 배터리로 전원을 공급받습니다. 칩이 받는 절대적인 전력량 자체는 중요하지 않습니다. 한 기계는 두 칩의 출력이 서로 최대한 비슷할 때 가장 잘 작동합니다. 칩의 출력은 그 칩에 들어간 kk개 배터리의 출력 중 가장 작은 값으로 정의됩니다.

배터리 2nk2nk개를 모두 칩에 나누어 배분해야 합니다(모든 배터리를 사용하고, 각 칩은 정확히 kk개씩 받습니다). 모든 기계에서 두 칩의 출력을 똑같이 맞추는 것은 불가능할 수 있으므로, 대신 모든 기계에서 두 칩의 출력 차이가 최대 dd 이하가 되도록 보장하고, 그 dd를 가능한 한 작게 만들고 싶습니다. 이때 가능한 가장 작은 dd를 구하세요.

예를 들어 기계가 22대이고 칩마다 배터리가 33개이며 배터리 출력이 1,2,3,4,5,6,7,8,9,10,11,121, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12라고 합시다. 한 가지 방법으로 출력 1,3,51, 3, 5를 한 칩에, 같은 기계의 다른 칩에 2,4,122, 4, 12를, 세 번째 칩에 6,8,96, 8, 9를, 네 번째 칩에 7,10,117, 10, 11을 배분할 수 있습니다. 그러면 네 칩의 출력은 각각 1,2,6,71, 2, 6, 7이 되어 두 기계 모두 차이가 11입니다. 같은 결과를 내는 배분 방법은 이 밖에도 많습니다.

입력

입력은 하나의 테스트 케이스로 이루어집니다. 첫째 줄에는 양의 정수 두 개, 기계의 수 nn과 칩당 배터리 수 kk가 주어집니다(2nk≤1062nk \le 10^6). 둘째 줄에는 배터리들의 출력을 나타내는 정수 2nk2nk개 pip_i가 주어집니다(1≤pi≤1091 \le p_i \le 10^9).

출력

모든 기계에서 두 칩의 출력 차이가 최대 dd 이하가 되도록 배터리를 배분할 수 있는 가장 작은 수 dd를 출력하세요.

예제6

  1. 예제 1

    입력
    2 3
    1 2 3 4 5 6 7 8 9 10 11 12
    
    예상 출력
    1
    
  2. 예제 2

    입력
    1 1
    8 5
    
    예상 출력
    3
    
  3. 예제 3

    입력
    1 2
    11 1 2 10
    
    예상 출력
    1
    
  4. 예제 4

    입력
    3 1
    20 1 9 6 10 5
    
    예상 출력
    10
    
  5. 예제 5

    입력
    2 2
    4 4 4 4 4 4 4 4
    
    예상 출력
    0
    
  6. 예제 6

    입력
    2 1
    100 11 10 1
    
    예상 출력
    89