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

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

어려움8동적 계획법정렬그리디아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

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

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

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

입력

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

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

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

출력

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