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

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

카트

면접 대비

시간 제한1초메모리 제한1024 MB

요약
주어진 주유소에서 연료를 채우며 최소 K킬로미터를 달릴 수 있는 가장 작은 연료 탱크 용량을 구한다.
난이도

보통10점 중 5점

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

문제

비타우타스(Vytautas)는 크리스마스 선물로 새 카트를 받았고, 길고 곧게 뻗은 카팅 트랙에서 시험 주행을 하려고 합니다.

카트는 연료 탱크를 가득 채운 상태로 출발합니다. 1킬로미터를 달릴 때마다 연료를 1리터 소모하며, 탱크에 연료가 남아 있는 동안에는 계속 직진합니다. 트랙 위 어느 주유소에서든 탱크를 다시 가득 채울 수 있습니다.

트랙에는 주유소가 NN개 있고, ii번째 주유소는 트랙 시작점에서 pip_i킬로미터 떨어진 지점에 있습니다.

비타우타스가 적어도 KK킬로미터를 달릴 수 있도록 하는, 필요한 연료 탱크의 최소 용량을 구해 주세요.

입력

첫째 줄에 두 양의 정수, 주유소의 개수 NN과 달리려는 거리 KK(킬로미터)가 주어집니다.

둘째 줄에 NN개의 양의 정수가 주어집니다. ii번째 수는 ii번째 주유소가 트랙 시작점에서 떨어진 거리(킬로미터)를 나타냅니다. 주유소의 위치는 정렬되어 있지 않을 수도 있습니다.

출력

비타우타스가 적어도 KK킬로미터를 달릴 수 있게 하는 최소 연료 탱크 용량(리터)을 한 줄에 정수 하나로 출력합니다.

제한

  • 1≤N≤1051 \le N \le 10^5
  • 1≤K,p1,p2,…,pN≤1091 \le K, p_1, p_2, \dots, p_N \le 10^9
  • 같은 지점(같은 킬로미터)에 둘 이상의 주유소가 있을 수 있습니다.

예제1

  1. 예제 1

    입력
    5 50
    25 5 28 48 40
    
    예상 출력
    20