봅슬레이

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

요약
1미터마다 속도가 최대 1씩 변하고, i번째 턴에서 T_i 지점을 지날 때 속도가 S_i 이하여야 할 때, 코스 어디에서든 낼 수 있는 최고 속도를 구한다.
난이도

보통10점 중 7점

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

문제

베시(Bessie)가 봅슬레이 대회에 참가했습니다. 코스의 길이는 LL미터입니다 (2≤L≤1,000,000,0002 \le L \le 1{,}000{,}000{,}000).

베시는 출발선에서 초속 11미터로 출발합니다. 이후 이동하는 매 11미터의 중간 지점 부근에서, 그녀는 다음 세 가지 중 하나로 속도를 조절할 수 있습니다: 중력을 이용해 속도를 1 m/s1\,\text{m/s} 높이거나, 속도를 그대로 유지하거나, 제동을 걸어 속도를 1 m/s1\,\text{m/s} 낮춥니다. 따라서 어떤 11미터 구간을 시작할 때의 속도와, 바로 다음 11미터 구간을 시작할 때의 속도의 차이는 최대 11입니다.

코스에는 NN개의 커브가 있습니다 (1≤N≤100,0001 \le N \le 100{,}000). ii번째 커브는 출발점에서 TiT_i미터 지점에 있으며 (1≤Ti≤L−11 \le T_i \le L-1), 베시는 그 지점(미터 눈금 TiT_i)에 진입하는 순간의 속도가 Si m/sS_i\,\text{m/s} 이하여야 합니다 (1≤Si≤1,000,000,0001 \le S_i \le 1{,}000{,}000{,}000). 결승선은 어떤 속도로 통과해도 됩니다.

출발선과 결승선 사이(양 끝 포함)에서 베시가 낼 수 있는 가장 빠른 속도를 구하세요.

여기서 "미터 눈금 kk에서의 속도"란 kk미터 지점을 지나는 순간, 즉 (k+1)(k+1)번째 미터를 달리기 시작할 때의 속도를 뜻합니다. 미터 눈금 00에서의 속도는 항상 11입니다.

아래는 코스를 나타낸 그림입니다. 정수는 미터 눈금이고, 대괄호 안의 수는 해당 커브의 제한 속도입니다 (예: [3]).

|   1   2   3   4   5   6   7[3]
|---+---+---+---+---+---+---+
|                            \
Start                         + 8
                               \
                                + 9
                                 \
                                  + 10       +++ 14 (finish)
                                   \         /
                              11[1] +---+---+
                                        12  13[8]

아래 표는 위 코스에서 각 미터 눈금을 지날 때의 베시의 속도를 나타냅니다.

Max:                              3               1       8
Mtrs: 0   1   2   3   4   5   6   7   8   9  10  11  12  13  14
Spd:  1   2   3   4   5   5   4   3   4   3   2   1   2   3   4

이 경우 베시의 최고 속도는 미터 눈금 44 부근에서의 55입니다.

입력

  • 첫째 줄: 공백으로 구분된 두 정수 LL과 NN.
  • 둘째 줄부터 N+1N+1째 줄까지: i+1i+1번째 줄에는 ii번째 커브를 나타내는 두 정수 TiT_i와 SiS_i가 공백으로 구분되어 주어집니다.

출력

  • 한 줄에 정수 하나: 출발선부터 결승선까지(양 끝 포함) 베시가 도달할 수 있는 최대 속도.

예제2

  1. 예제 1

    입력
    14 3
    7 3
    11 1
    13 8
    
    예상 출력
    5
    
  2. 예제 2

    입력
    10 1
    5 100
    
    예상 출력
    11