지네의 다리
면접 대비시간 제한2초메모리 제한512 MB
n과 m개의 기록이 주어질 때, 좌우 다리 수의 합이 n이고 각각 1 이상이 되도록 정하면서 l_i <= 좌, r_i <= 우를 만족하는 기록 수를 최대로 하고, 동률이면 좌측 다리 수가 가장 작은 답을 구한다.
문제
필은 어릴 때 지네를 키웠다. 지네는 다리가 많다. 필의 지네도 다리가 모두 개였고, 그중 일부는 왼쪽 다리, 나머지는 오른쪽 다리였다. 지네는 매일 다리 몇 개를 사용했는데, 왼쪽 다리를 적어도 하나, 오른쪽 다리를 적어도 하나 항상 사용했다.
필은 그날 지네가 사용한 왼쪽 다리 개수와 오른쪽 다리 개수를 매일 공책에 적었다.
필은 이 기록으로 자기 지네의 왼쪽 다리 개수와 오른쪽 다리 개수를 알아내려고 한다. 그런데 필이 정확하게 적지 못해서 기록에 틀린 것이 섞여 있을 수 있다. 기록 는 지네의 왼쪽 다리가 개 이상이고 오른쪽 다리가 개 이상일 때 옳다.
옳은 기록의 개수가 최대가 되도록 왼쪽 다리 개수와 오른쪽 다리 개수를 정하라. 왼쪽 다리와 오른쪽 다리는 각각 1개 이상이고, 두 개수의 합은 이다.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 첫째 줄에 테스트 케이스의 개수 가 주어진다 ().
각 테스트 케이스의 첫째 줄에는 지네의 전체 다리 개수 이 주어진다 (). 다음 줄에는 필이 남긴 기록의 개수 이 주어진다 ().
이어지는 개의 줄에는 필의 기록에 따라 번째 날 지네가 사용한 왼쪽 다리 개수 와 오른쪽 다리 개수 가 공백으로 구분되어 주어진다 ().
한 입력에 들어 있는 모든 테스트 케이스의 기록 개수를 합한 값은 을 넘지 않는다.
출력
각 테스트 케이스마다 한 줄에 두 정수를 출력한다. 옳은 기록의 개수를 최대로 만드는 왼쪽 다리 개수와 오른쪽 다리 개수다.
옳은 기록의 개수를 최대로 만드는 답이 여러 개면 왼쪽 다리 개수가 가장 작은 것을 출력한다.