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

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

지네의 다리

면접 대비

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

요약
n과 m개의 기록이 주어질 때, 좌우 다리 수의 합이 n이고 각각 1 이상이 되도록 정하면서 l_i <= 좌, r_i <= 우를 만족하는 기록 수를 최대로 하고, 동률이면 좌측 다리 수가 가장 작은 답을 구한다.
난이도

보통10점 중 5점

유형
수학, 누적 합, 이분 탐색, 정렬
정답자
아직 제출이 없습니다

문제

필은 어릴 때 지네를 키웠다. 지네는 다리가 많다. 필의 지네도 다리가 모두 nn개였고, 그중 일부는 왼쪽 다리, 나머지는 오른쪽 다리였다. 지네는 매일 다리 몇 개를 사용했는데, 왼쪽 다리를 적어도 하나, 오른쪽 다리를 적어도 하나 항상 사용했다.

필은 그날 지네가 사용한 왼쪽 다리 개수와 오른쪽 다리 개수를 매일 공책에 적었다.

필은 이 기록으로 자기 지네의 왼쪽 다리 개수와 오른쪽 다리 개수를 알아내려고 한다. 그런데 필이 정확하게 적지 못해서 기록에 틀린 것이 섞여 있을 수 있다. 기록 li,ril_i, r_i는 지네의 왼쪽 다리가 lil_i개 이상이고 오른쪽 다리가 rir_i개 이상일 때 옳다.

옳은 기록의 개수가 최대가 되도록 왼쪽 다리 개수와 오른쪽 다리 개수를 정하라. 왼쪽 다리와 오른쪽 다리는 각각 1개 이상이고, 두 개수의 합은 nn이다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 첫째 줄에 테스트 케이스의 개수 tt가 주어진다 (1≤t≤1041 \le t \le 10^4).

각 테스트 케이스의 첫째 줄에는 지네의 전체 다리 개수 nn이 주어진다 (2≤n≤1092 \le n \le 10^9). 다음 줄에는 필이 남긴 기록의 개수 mm이 주어진다 (1≤m≤1051 \le m \le 10^5).

이어지는 mm개의 줄에는 필의 기록에 따라 ii번째 날 지네가 사용한 왼쪽 다리 개수 lil_i와 오른쪽 다리 개수 rir_i가 공백으로 구분되어 주어진다 (1≤li,ri≤n1 \le l_i, r_i \le n).

한 입력에 들어 있는 모든 테스트 케이스의 기록 개수를 합한 값은 10510^5을 넘지 않는다.

출력

각 테스트 케이스마다 한 줄에 두 정수를 출력한다. 옳은 기록의 개수를 최대로 만드는 왼쪽 다리 개수와 오른쪽 다리 개수다.

옳은 기록의 개수를 최대로 만드는 답이 여러 개면 왼쪽 다리 개수가 가장 작은 것을 출력한다.

예제2

  1. 예제 1

    입력
    3
    4
    3
    1 2
    1 3
    1 4
    2
    2
    2 2
    1 2
    5
    4
    1 4
    2 3
    3 2
    4 1
    
    예상 출력
    1 3
    1 1
    1 4
    
  2. 예제 2

    입력
    1
    10
    5
    2 3
    4 5
    3 4
    1 1
    5 5
    
    예상 출력
    5 5