이기적인 방목
면접 대비시간 제한1초메모리 제한128 MB
N개의 구간이 주어질 때, 서로 겹치지 않도록 고를 수 있는 구간의 최대 개수를 구한다.
문제
농부 John의 소 마리()는 각자 목초지의 특정 구간에서 풀을 뜯는 것을 좋아한다. 목초지는 하나의 커다란 1차원 수직선으로 생각할 수 있다. 번째 소가 좋아하는 방목 구간은 위치 에서 시작하여 위치 에서 끝난다().
소들은 매우 이기적이어서 어떤 소도 자신의 방목 구간을 다른 소와 공유하려 하지 않는다. 따라서 두 소 와 는 또는 일 때에만 동시에 풀을 뜯을 수 있다. 즉, 두 구간이 끝점에서 맞닿는 것은 허용되지만 서로 겹치는 것은 허용되지 않는다. John은 주어진 소들과 그 선호 구간에 대해, 동시에 풀을 뜯을 수 있는 소의 최대 마리 수를 알고 싶어 한다.
아래와 같은 구간을 가진 소 5마리를 생각해 보자.
... 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
... |----|----|----|----|----|----|----|----|----|----|----|----|----
Cow 1: <===:===> : : :
Cow 2: <========:==============:==============:=============>:
Cow 3: : <====> : : :
Cow 4: : : <========:===> :
Cow 5: : : <==> : :
이 구간들은 각각 , , , , 을 나타낸다.
한 가지 해에서는 1번, 3번, 4번(또는 5번) 소가 모두 동시에 풀을 뜯을 수 있다. 만약 2번 소가 풀을 뜯으면 다른 어떤 소도 뜯을 수 없다. 또한 4번과 5번 소는 함께 뜯을 수 없으므로, 4마리 이상이 동시에 뜯는 것은 불가능하다.
입력
- 첫째 줄: 정수 .
- 둘째 줄부터 번째 줄까지: 번째 줄에는 공백으로 구분된 두 정수 와 가 주어진다.
출력
- 첫째 줄: 동시에 풀을 뜯을 수 있는 소의 최대 마리 수를 나타내는 정수 하나.