뱀 한 마리가 겨울나기를 준비하고 있다.
뱀은 겨울잠을 자기 전 주위에 나타나는 사냥감들을 잡아먹고 많은 양분을 얻어두려고 한다.
단, 사냥감들은 각각 어떤 시각에만 나타나고, 뱀이 그 시각에 공격하면 사냥에 성공하지만 그때 공격하지 않으면 사냥감은 바로 달아나 버린다.
사냥에 성공한 뱀은 바로 먹이를 삼키게 되고, 먹이를 소화시키기 위해서 어느 정도의 휴식을 취해야 하는데 이때는 사냥을 할 수가 없다.
소화시간은 사냥감에 따라 다를 수 있어서 잘못 먹었다가는 많은 사냥감들을 놓칠 수도 있다.
사냥감들의 등장 시각과 소화 시간이 주어질 때, 어떤 사냥감들을 사냥해야 가장 많은 수의 사냥감을 잡아먹을 수 있을까?
입력
- 첫 줄에 사냥감의 수 \(N\)이 주어진다.\((1 ≤ N ≤ 1000)\)
- 그 다음 줄부터 \(N\)개의 줄에 \(a\) \(b\)가 주어진다. 이는 사냥감이 정확히 \(a\)의 시각에만 등장하며 소화시키기 위해 \(b\)의 시간이 필요하다는 뜻이다.\((1 ≤ a ≤ 10000)\) \((1 ≤ b ≤ 10000)\)
출력
- 뱀이 잡아먹을 수 있는 가장 많은 사냥감의 수를 출력한다.
입력 예시 1
3
1 4
5 4
4 2
출력 예시 1
2
예시 1 힌트
입력 예시 2
3
5 1
6 1
1 9
출력 예시 2
2
예시 2 힌트
입력 예시 3
3
1 3
2 3
3 3
출력 예시 3
1
입력 예시 4
3
3 1
4 1
5 1
출력 예시 4
3
힌트
- 이 문제를 풀려면 커스텀 정렬 방법을 알아야할 수도 있다. 커스텀 정렬, 클래스 정렬 등의 키워드를 검색해 구조체(클래스)의 커스텀 정렬 방법을 알아보자.
Comments