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

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

선반 위의 상자

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

요약
길이 L인 선반 위에 상자를 최대한 많이 놓되, 각 상자의 중심이 선반 안쪽에 오도록 배치할 때 최대 개수를 구한다.
난이도

보통10점 중 6점

유형
그리디, 정렬, 수학, 투 포인터
정답자
아직 제출이 없습니다

문제

Varya는 헛간에 중요한 물건이 든 상자 nn개를 보관하고 있다. 최근 헛간 벽에 선반을 하나 더 못 박았다. 이제 Varya는 새 선반 위에 상자를 최대한 많이 올리려고 한다.

선반이 달린 벽을 평면으로 보자. 그러면 선반은 길이 LL인 수평 선분이다. 선반의 왼쪽과 오른쪽에는 빈 공간이 있고, 이는 무한하다고 생각할 수 있다. ii번 상자는 변의 길이가 a_ia\_i와 b_ib\_i인 직사각형이다.

상자는 한 변 또는 그 일부가 선반 위에 놓여 있고 상자의 중심이 선반의 내부 점 위에 있을 때 선반 위에 서서 떨어지지 않는다. 상자는 선반 위에만, 벽에 붙여 놓을 수 있다. 다른 상자 위에 놓거나 여러 층으로 쌓을 수는 없다.

Varya가 선반 위에 올릴 수 있는 상자의 최대 개수를 구하라.

입력

첫째 줄에는 정수 nn이 주어진다. 이는 상자의 개수이다 (1≤n≤100 0001 \le n \le 100\,000). 다음 nn개 줄에는 각각 두 정수 a_ia\_i와 b_ib\_i가 주어진다. 이는 해당 상자의 변의 길이이다 (1≤a_i,b_i≤100 0001 \le a\_i, b\_i \le 100\,000). 마지막 줄에는 정수 LL이 주어진다. 이는 선반의 길이이다 (1≤L≤1091 \le L \le 10^9).

출력

떨어지지 않도록 Varya가 선반 위에 올릴 수 있는 상자의 최대 개수를 정수 하나로 출력하라.

힌트

첫 번째 예제에서 Varya는 선반 위에 상자 세 개를 올릴 수 있다. 예를 들어 두 번째 상자를 길이 44인 변으로 왼쪽에 눕히고, 네 번째 상자를 길이 22인 변으로 가운데에 눕히고, 첫 번째 상자를 길이 33인 변으로 오른쪽에 눕히면 된다.

두 번째 예제에서 세 상자를 모두 선반 위에 대칭으로 놓으면, 왼쪽과 오른쪽 상자의 중심이 정확히 선반의 양 끝 위에 위치하므로 떨어진다.

예제2

  1. 예제 1

    입력
    4
    3 5
    6 4
    10 20
    2 2
    7
    
    예상 출력
    3
    
  2. 예제 2

    입력
    3
    1 1
    1 1
    1 1
    2
    
    예상 출력
    2