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

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

던전

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

요약
1층에서 체력 H로 시작해 N-1번 내려가면서 각 층의 샘에서 마실 횟수를 정하되 체력이 1 이상 H 이하로 유지되게 하고, 총 사용 횟수의 최솟값을 구한다.
난이도

보통10점 중 7점

유형
그리디, 수학
정답자
아직 제출이 없습니다

문제

당신은 어느 던전의 지하 NN층에 있는 보물을 손에 넣으려고 한다. 처음에 당신은 지하 1층에 있으며, 체력은 HH(HH는 양의 정수)이다. 아래 층으로 내려갈 때마다 체력이 소모되며, 각 층에서 아래 층으로 내려갈 때 소모되는 체력은 미리 알려져 있다. 또한 모든 층에는 회복의 샘이 하나씩 있어서, 샘을 한 번 사용할 때마다 그 층에 정해진 양만큼 체력을 회복할 수 있다. 체력이 00 이하가 되면 당신은 죽는다. 또한 체력이 HH보다 커지는 일은 없다. 회복의 샘은 몇 번이든 사용할 수 있지만, 회복에는 시간이 걸리므로 샘의 사용 횟수를 가능한 한 적게 하고 싶다.

NN, HH, 각 층에서 아래 층으로 내려갈 때 소모되는 체력, 그리고 각 층에서 회복의 샘을 한 번 사용했을 때 회복되는 체력이 주어질 때, 체력을 00 이하로 만들지 않고 지하 NN층까지 도달하기 위해 필요한 샘 사용 횟수의 최솟값을 구하는 프로그램을 작성하여라.

또한 한 번 아래 층으로 내려가면, 보물을 손에 넣을 때까지 위층으로 되돌아갈 수 없다.

입력

첫째 줄에 두 정수 NN과 HH가 공백으로 구분되어 주어진다 (2≤N≤1052 \le N \le 10^5, 1≤H≤1071 \le H \le 10^7). NN은 보물이 지하 NN층에 있음을 의미하고, HH는 초기 체력(지하 1층에 도착한 시점의 체력)이자 체력의 최댓값이다(회복으로 체력이 HH보다 커지지는 않는다).

이어지는 N−1N-1개의 줄에는 각각 두 정수가 공백으로 구분되어 주어진다. ii번째 줄(1≤i≤N−11 \le i \le N-1)의 두 정수 did_i, hih_i에 대해 0≤di<H0 \le d_i < H, 1≤hi<H1 \le h_i < H이며, did_i는 지하 ii층에서 지하 i+1i+1층으로 내려갈 때 소모되는 체력을, hih_i는 지하 ii층에서 샘을 한 번 사용했을 때 회복되는 체력을 나타낸다.

출력

체력을 00 이하로 만들지 않고 지하 NN층에 도달하기 위해 필요한 샘 사용 횟수의 최솟값을 한 줄에 출력한다.

힌트

이 문제에서 다루는 정수의 범위가 32비트에 담기지 않을 수 있음에 주의하여라.

예제6

  1. 예제 1

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

    입력
    2 5
    4 3
    
    예상 출력
    0
    
  3. 예제 3

    입력
    4 10
    9 1
    9 1
    9 1
    
    예상 출력
    18
    
  4. 예제 4

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

    입력
    3 2
    1 1
    1 1
    
    예상 출력
    1
    
  6. 예제 6

    입력
    5 8
    0 1
    7 2
    0 1
    7 3
    
    예상 출력
    3