문제1352--점핑점핑

1352: 점핑점핑

[만든사람 : 39기 김지환]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명


어렸을 때 플래시 게임을 좀 해본 사람이라면 누구나 ‘점핑 닌자고’, 추억의 게임을 알고 있을 것이다. 

발판을 밟으면 캐릭터가 일정 거리만큼 점프를 한다. 점프를 하고 떨어질 때 또 원하는 발판을 밟으며 점점 올라가 꼭대기에 도달해야 하는 게임이다.

게임을 플레이하는 오둡이는 최대한 빨리 꼭대기에 도달하고 싶기 때문에 캐릭터가 꼭대기에 도달하기 위해 이동해야 하는 거리의 최솟값을 구하는 프로그램을 만들어야 한다. 

현재 캐릭터의 위치는 0에 있으며 발판은 원할 때만 밟을 수 있다.(떨어지거나 점프 중일 때 다른 발판이 있어도 통과할 수 있다.)

입력 설명

첫 줄에는 발판의 개수 N(1<=N<=3000)이 입력된다.

다음 N개의 줄에는 각 줄마다 발판의 위치(높이) x(0<=x<=5000), 발판을 밟았을 때 튀어 오르는 높이 y(0<=y<=10000)가 입력된다. 단, 첫 번째로 입력되는 발판의 위치 x는 0이고 마지막으로 입력되는 발판은 꼭대기이므로 y는 0이다.

입력 데이터에서 발판의 x값은 오름차순으로 주어진다.

 

입력값의 범위

(1<=N<=3,000)

(0<=x<=5,000)

(0<=y<=10,000)

출력 설명

캐릭터가 꼭대기에 도착할 때까지 이동해야 하는 거리의 최솟값을 출력하여라.

만약 캐릭터가 꼭대기에 도착할 수 없다면, -1을 출력하여라.

입력 예시 Copy

4
0 2
2 4
5 2
7 0

출력 예시 Copy

9

출처/분류