만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

의자가 n개 있다

면접 대비

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

요약
의자 너비의 합이 H 이상이 되도록 고르고, 나란히 놓았을 때 인접한 의자 높이 차의 최댓값을 최소로 만드는 문제입니다.
난이도

보통10점 중 5점

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

문제

블라드가 드디어 팀장 자리에 올랐지만, 집에 갈 시간이 없어서 사무실에서 자야 합니다. 넓고 편한 휴게 공간을 갖춘 IT 회사는 많지 않으니, 블라드는 사무실 의자 위에서 자기로 했습니다.

사무실에는 의자가 nn개 있고, ii번째 의자의 높이는 hih_i, 너비는 wiw_i입니다. 블라드는 의자를 임의로 골라 [i1,i2,…,ik][i_1, i_2, \ldots, i_k] 순서로 한 줄에 놓고 그 위에 눕습니다. 블라드의 키는 HH이므로, 편하게 누우려면 고른 의자들의 너비 합이 HH 이상이어야 합니다.

∑j=1kwij≥H\sum\limits_{j=1}^k w_{i_j} \ge H

높이가 서로 다른 의자에 눕는 것은 불편합니다. 한 줄에서 인접한 두 의자 높이 차이의 최댓값을 그 줄의 불편도라고 합니다.

max⁡j=2k∣hij−hij−1∣\max\limits_{j=2}^k |h_{i_j} - h_{i_{j-1}}|

의자가 하나뿐이면 불편도는 00입니다. 블라드가 누울 수 있으면서 불편도가 가장 작아지도록 의자를 고르는 것을 도와주세요.

입력

첫째 줄에 의자의 개수 nn과 블라드의 키 HH가 공백으로 구분되어 주어집니다 (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5, 1≤H≤1091 \le H \le 10^9). 둘째 줄에는 의자 높이 hih_i가 nn개 주어지고, 셋째 줄에는 의자 너비 wiw_i가 같은 형식으로 nn개 주어집니다 (1≤hi≤1091 \le h_i \le 10^9, 1≤wi≤1091 \le w_i \le 10^9). HH는 모든 wiw_i의 합을 넘지 않는다고 보장됩니다.

출력

조건을 만족하는 모든 집합 중에서 가능한 최소 불편도를 한 개의 정수로 출력합니다.

힌트

첫 번째 예시에서는 의자 2번과 4번을 어떤 순서로 놓아도 됩니다. 두 번째 예시에서는 [1, 5]나 [2, 4, 3] 같은 순서를 고를 수 있습니다. 순서가 중요합니다. [2, 3, 4] 순서의 불편도는 max⁡(∣5−3∣,∣4−5∣)=max⁡(2,1)=2\max(|5 - 3|, |4 - 5|) = \max(2, 1) = 2이고, 이는 [2, 4, 3] 순서의 불편도보다 큽니다.

예제2

  1. 예제 1

    입력
    4 7
    1 4 1 2
    1 4 2 3
    
    예상 출력
    2
    
  2. 예제 2

    입력
    5 6
    1 3 5 4 2
    5 4 3 2 1
    
    예상 출력
    1