점프
시간 제한1초메모리 제한1024 MB
1층 발판의 임의의 정수 위치에서 출발해 위로 처음 만나는 발판으로 점프하며, K층 발판에 도달하는 최소 점프 횟수를 구합니다.
문제
간단한 점프 게임이 있다. 캐릭터는 1층에 있는 발판 중 하나를 골라 정수 위치에서 시작할 수 있다. 캐릭터는 다음 두 가지 액션 중 하나를 할 수 있으며, 게임의 목표는 가장 높은 발판에 최소한의 점프로 도착하는 것이다.
- 현재 위치한 발판 위에서 위치가 정수가 되도록 자유롭게 움직인다. 즉, 좌/우로 1씩 움직일 수 있다.
- 현재 위치한 발판에서 수직으로 점프한다. 이때 처음 만나는 위치의 발판으로 이동한다. 즉, 현재 위치에서 위쪽으로 반직선을 그을 때 첫 교점이 생기는 발판으로 이동한다.
아래와 같은 예시를 생각해 보자.

1층에는 발판이 2개 있다. 1층의 오른쪽 발판과 왼쪽 발판 중 어느 곳에서든 캐릭터는 시작할 수 있으며, 이 경우 오른쪽 발판에서 4층으로 1번의 점프로 이동하는 것이 최적이다. 또한 점프 방식의 정의에 따라, 1층의 오른쪽 발판 위에 캐릭터가 있고 위치 8에서 점프하면 2층의 발판에 도달한다.
입력
첫 줄에 발판의 개수 과 가장 높은 발판이 몇 층인지를 나타내는 정수 가 주어진다. 다음 개 줄에는 발판의 정보를 나타내는 정수 , , 가 주어진다. 이는 번째 발판이 에서 까지의 구간으로 나타나며 층에 위치함을 의미한다. 같은 층에 있는 발판끼리는 겹치지 않는다. 1층과 층에는 적어도 하나의 발판이 있음이 보장된다.
출력
1층의 임의의 발판에서 출발하여 층의 임의의 발판에 도착하는 최소 점프 횟수를 출력한다. 도달할 방법이 없으면 -1을 출력한다.
제한
- ,