소들의 대회

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

요약
N마리 소의 도착 시각과 정원 C의 버스 M대가 주어질 때, 소의 도착 시각과 탄 버스의 출발 시각 차의 최댓값을 최소로 만드는 배정을 찾는다.
난이도

보통10점 중 7점

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

문제

농부 존이 자신의 농장에서 새로운 소들의 풀 먹기 대회를 연다!

전 세계에서 온 소들이 대회에 참가해 풀을 먹으려고 지역 공항에 도착한다. 구체적으로 공항에 도착하는 소가 NN마리이고(1≤N≤1051 \leq N \leq 10^5), ii번 소는 시각 t_it\_i에 도착한다(0≤t_i≤1090 \leq t\_i \leq 10^9). 농부 존은 공항에서 소들을 실어 나를 버스 MM대를 준비했다(1≤M≤1051 \leq M \leq 10^5). 버스 한 대에는 소를 최대 CC마리까지 태울 수 있다(1≤C≤N1 \leq C \leq N). 농부 존은 버스들과 함께 공항에서 기다리면서 도착하는 소들을 버스에 배정하려고 한다. 버스는 그 버스에 탄 소 중 마지막 소가 도착한 시각에 출발할 수 있다. 농부 존은 좋은 주최자가 되고 싶어서 도착한 소들을 공항에서 너무 오래 기다리게 하고 싶지 않다. 농부 존이 버스를 최적으로 운영할 때, 도착한 소 한 마리의 최대 대기 시간으로 가능한 최솟값은 얼마인가? 소의 대기 시간은 자신의 도착 시각과 자신이 탄 버스의 출발 시각의 차이다.

MC≥NMC \geq N이 보장된다.

입력

첫째 줄에는 공백으로 구분된 세 정수 NN, MM, CC가 주어진다. 다음 줄에는 각 소의 도착 시각을 나타내는 NN개의 정수가 공백으로 구분되어 주어진다.

출력

도착한 소 한 마리의 최대 대기 시간으로 가능한 최솟값을 한 줄에 출력한다.

힌트

시각 1에 도착하는 두 마리의 소가 첫 번째 버스에 타고, 시각 3과 4에 도착하는 소들이 두 번째 버스에, 시각 10과 14에 도착하는 소들이 세 번째 버스에 탄다면, 소가 기다리는 가장 긴 시간은 4시간 단위이다(시각 10에 도착한 소는 시각 10부터 시각 14까지 기다린다).

예제1

  1. 예제 1

    입력
    6 3 2
    1 1 10 14 4 3
    
    예상 출력
    4