아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

해적선 주차하기

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

요약
선장의 주차 구간은 고정되어 있다. 나머지 배를 직선 위에 배치해 집 중심을 덮는 배의 수를 최대로 만든다.
난이도

보통10점 중 7점

유형
정렬, 그리디, 구간
정답자
아직 제출이 없습니다

문제

검은수염 선장과 해적들이 각자 좋아하는 섬에 집을 한 채씩 샀다. 집들은 모두 해변을 따라 한 줄로 늘어서 있고, 해적들은 집 옆에 자기 배도 한 척씩 마련했다. 해변에는 배를 대는 긴 부두가 하나 있다.

부두에는 모든 배를 댈 공간이 충분하지만, 모든 해적이 자기 집 바로 앞에 배를 댈 수 있는 것은 아니다. 해적은 자기 주차 구간의 일부가 자기 집 중심 앞에 걸쳐 있을 때에만 만족한다.

엄밀히 말하면, 해적 ii의 주차 구간은 실수 구간 [ai,bi][a_i, b_i] (ai,bi∈Ra_i, b_i \in \mathbb{R})이며, 배를 담을 만큼 충분히 길어야 한다. 즉 li≤bi−ail_i \le b_i - a_i 이고, 여기서 lil_i는 배 ii의 길이다. 해적 ii는 ai≤xi≤bia_i \le x_i \le b_i일 때 정확히 만족하며, xix_i는 그 집의 중심이다. 서로 다른 해적의 주차 구간은 내부가 겹치면 안 된다(경계는 서로 맞닿아도 된다).

선장(해적 11번)은 자기 자리를 최우선으로 챙긴다. 그는 배의 중심이 집의 중심과 정확히 일치하는 자리, 곧 [x1−l12, x1+l12]\left[x_1 - \tfrac{l_1}{2},\, x_1 + \tfrac{l_1}{2}\right]를 차지한다. 이 자리를 고정한 채, 선장은 가능한 한 많은 해적을 만족시키고 싶어 한다. 그 최댓값을 구하라.

입력

첫 줄에 테스트 케이스의 수를 나타내는 정수가 하나 주어진다. 각 테스트 케이스의 형식은 다음과 같다.

  • 한 줄에 정수 nn (1≤n≤10001 \le n \le 1000): 선장을 포함한 해적의 수.
  • 이어지는 nn개의 줄 중 ii번째 줄에는 두 정수 xix_i (−109≤xi≤109-10^9 \le x_i \le 10^9)와 lil_i (1≤li≤1091 \le l_i \le 10^9)가 주어진다. 각각 해적 ii의 집 중심과 배의 길이다. 가장 먼저 주어지는 해적이 항상 선장이다.

출력

각 테스트 케이스마다 한 줄에 정수 하나를 출력한다. 주차 구간을 최적으로 배정했을 때 만족하는 해적의 최대 수이며, 이 수에는 선장도 포함된다. 부두는 양쪽 방향으로 끝없이 이어진다고 가정해도 된다.

예제1

  1. 예제 1

    입력
    2
    5
    0 6
    -5 2
    -4 1
    4 2
    5 3
    4
    0 4
    -5 4
    3 4
    5 3
    
    예상 출력
    5
    3