프로그램 명: cleaning
제한시간: 1 초
농부 존은 N (1 <= N <= 25,000)마리의 소를 우리 주위의 청소작업에 할당하려고 한다.

하루를 T (1 <= T <= 1,000,000)개의 분할로 나눈다. 첫 번째 분할을 1 로 마지막을 T 로.

모든 소는 청소를 하는데 가용한 분할시간이 있다. 청소에 할당된 모든 소는 이 분할동안은 전적으로 이 일에만 전념한다.

당신의 일은 존을 도와 다음을 만족하는 어떤 소들을 할당하는 것이다.

분할에 할당할 소가 없으면 -1 을 출력한다.

입력

출력

최소 소의 수를 출력한다. 모든 분할을 커버할 수 없다면 -1 을 출력한다.

입출력 예

입력

3 10
1 7
3 6
6 10

출력

2

Hint

큰 데이터가 입력되므로 시간초과를 피하기 위해 cin 보다는 scanf() 사용한다.

예시의 입력은 3 마리의 소, 10 개의 분할이 있다. 1 번소는 1..7 시간 동안 , 2 번 소는 3..6 분할에 가능하고 3 번 소는 6..10 시간에 가용한다.

출력은 1 , 3 번 소를 선택하면 모든 분할을 다 커버 가능하다. 즉 2 마리 보다 적은 소를 이용하여 모든 분할을 커버할 수 없다.

출처: USACO 2004 December Silver

[질/답] [제출 현황] [푼 후(0)]
[ 채 점 ] [홈으로]  [뒤 로]