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

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

경합

시간 제한15초메모리 제한1024 MB

요약
N개의 좌석과 Q개의 예약 구간이 주어질 때, 어떤 순서로 입력하더라도 모든 예약이 최소 k석을 받는 최대 k를 구합니다.
난이도

보통10점 중 6점

유형
이분 탐색, 그리디, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

영화관 앞줄 좌석을 판매하고 있습니다. 앞줄에는 N개의 좌석이 있으며, 왼쪽에서 오른쪽으로 1번부터 N번까지 번호가 붙어 있습니다. 지난 일주일 동안 사무실을 비웠는데, 돌아와 보니 좌석 예약 Q건이 쌓여 있습니다. i번째 예약은 LiL_i번부터 RiR_i번까지의 모든 좌석을 요청합니다. 이제 예약을 하나씩 시스템에 입력하는 일을 해야 합니다.

예약끼리 겹칠 수 있어서 시스템이 모든 예약을 빠짐없이 처리하지 못할 수도 있습니다. 예약을 입력하면 시스템은 그 예약이 요청한 좌석 중, 앞에서 입력된 예약에 아직 배정되지 않은 좌석을 모두 배정합니다.

각 예약에 최소 kk석 이상이 배정되도록 예약을 입력할 수 있는 순서가 존재하는 정수 kk의 최댓값을 구하십시오.

입력

입력의 첫 줄에 테스트 케이스의 수 TT가 주어집니다. 이어서 TT개의 테스트 케이스가 나옵니다. 각 테스트 케이스의 첫 줄에는 좌석 수 NN과 예약 수 QQ가 두 정수로 주어집니다. 그 다음 QQ개의 줄에서 i번째 줄에는 두 정수 LiL_i, RiR_i가 주어지며, 이는 i번째 예약이 LiL_i번부터 RiR_i번까지의 모든 좌석을 요청함을 뜻합니다.

출력

각 테스트 케이스마다 Case #x: y 형식의 한 줄을 출력합니다. 여기서 xx는 테스트 케이스 번호(1부터 시작)이고, yy는 위에서 설명한 최댓값 kk입니다.

제한

T=100T = 100.

1≤N≤1061 \le N \le 10^6.

1≤Li≤Ri≤N1 \le L_i \le R_i \le N.

힌트

어떤 예약에도 포함되지 않는 좌석이 있을 수 있습니다. 이런 좌석은 예약 배정에 영향을 주지 않습니다. 예약 중 하나라도 좌석을 한 석도 배정받지 못하는 경우, 답은 0입니다.

예제1

  1. 예제 1

    입력
    3
    5 3
    1 2
    3 4
    2 5
    30 3
    10 11
    10 10
    11 11
    10 4
    1 8
    4 5
    3 6
    2 7
    
    예상 출력
    Case #1: 1
    Case #2: 0
    Case #3: 2