만드는 중입니다

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

도미노 쓰러뜨리기 (작은 입력)

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

요약
도미노를 위치순으로 정렬한 뒤, 모든 도미노가 쓰러지도록 손으로 미는 최소 횟수를 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 정렬, 그리디
정답자
아직 제출이 없습니다

문제

수직선 위에 NN개의 도미노가 일렬로 서 있다. ii번째 도미노는 위치 XiX_i에 높이 HiH_i로 서 있고, 같은 위치에 두 개 이상의 도미노가 서 있는 경우는 없다.

홍준이는 도미노 하나를 골라 왼쪽이나 오른쪽으로 밀어 쓰러뜨릴 수 있다. 높이가 hh이고 위치가 xx인 도미노를 왼쪽으로 쓰러뜨리면 위치가 x−hx-h 이상 xx 이하인 도미노가 모두 왼쪽으로 쓰러진다. 오른쪽으로 쓰러뜨리면 위치가 xx 이상 x+hx+h 이하인 도미노가 모두 오른쪽으로 쓰러진다. 이렇게 쓰러진 도미노도 같은 방향을 유지한 채 주변의 도미노를 쓰러뜨리고, 연쇄는 더 이상 쓰러질 도미노가 없을 때까지 이어진다.

홍준이는 손으로 미는 횟수를 최소로 하면서 모든 도미노를 쓰러뜨리려고 한다. 손으로 몇 번 밀어야 하는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 도미노의 개수 NN이 주어진다. (1≤N≤3001 \le N \le 300)

둘째 줄부터 NN개의 줄에 도미노의 위치와 높이를 나타내는 두 정수 XiX_i와 HiH_i가 공백으로 구분되어 주어진다. (1≤Xi,Hi≤2 000 000 0001 \le X_i, H_i \le 2\,000\,000\,000)

도미노는 위치 순으로 주어지지 않을 수도 있다.

출력

모든 도미노를 쓰러뜨리기 위해 손으로 밀어야 하는 최소 횟수를 첫째 줄에 출력한다.

예제2

  1. 예제 1

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

    입력
    1
    1 1
    
    예상 출력
    1