도미노 (Large)

각 도미노를 한 방향으로 넘어뜨리는 연쇄를 고려해 모든 도미노를 쓰러뜨리는 최소 횟수를 구한다.

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

문제

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

도미노 하나를 골라 왼쪽이나 오른쪽으로 밀 수 있다. 위치가 xx이고 높이가 hh인 도미노를 왼쪽으로 밀면 xhpxx - h \le p \le x인 위치 pp에 있는 도미노가 모두 왼쪽으로 넘어지고, 오른쪽으로 밀면 xpx+hx \le p \le x + h인 위치 pp에 있는 도미노가 모두 오른쪽으로 넘어진다. 이렇게 넘어진 도미노도 같은 방향으로 쓰러지면서 자기 범위에 들어오는 도미노를 다시 넘어뜨린다. 연쇄는 새로 넘어지는 도미노가 없을 때까지 이어진다.

한 번 밀 때마다 도미노 하나와 방향 하나를 정한다. 도미노 NN개를 모두 넘어뜨리는 데 필요한 최소 밀기 횟수를 구하여라.

입력

첫째 줄에 NN이 주어진다. (1N5000001 \le N \le 500\,000)

둘째 줄부터 NN개의 줄에 도미노 하나의 위치 XiX_i와 높이 HiH_i가 공백으로 구분되어 주어진다. (1Xi,Hi20000000001 \le X_i, H_i \le 2\,000\,000\,000)

도미노가 위치 순서대로 주어진다는 보장은 없다.

출력

도미노를 모두 넘어뜨리는 데 필요한 최소 밀기 횟수를 첫째 줄에 출력한다.