작업 처리
시간 제한4초메모리 제한1024 MB
기본 작업 N개가 주어지고, 각 질의마다 작업 R개가 추가됩니다. 추가 후 서로 겹치지 않는 작업의 최대 개수를 구합니다.
문제
개의 작업이 있다. 각 작업은 두 정수 ()로 표현하며, 이는 작업이 에 시작해서 에 끝난다는 뜻이다. 두 작업의 기간이 겹치면 두 작업을 모두 수행할 수 없다. 단, 한 작업의 종료 시각과 다른 작업의 시작 시각이 같으면 기간이 겹치지 않는 것으로 본다.
공장에서는 가능한 한 많은 작업을 처리하려고 한다. 한 시점에 작업을 하나만 처리할 수 있으므로 처리할 수 있는 작업의 수에는 한계가 있다. 공장을 확장하는 대신 새 작업을 추가해서 이 문제를 해결하려고 한다.
개의 질의가 주어진다. 번째 질의에는 개의 작업이 추가로 주어진다. 각 질의마다 기존 개의 작업과 새로 추가된 개의 작업 중에서 처리할 수 있는 작업의 최대 개수를 구하여라.
예를 들어, , 이고 기본 작업이 이다. 두 질의는 각각 , 이다. 첫 번째 질의에서는 의 4개 작업을 수행하는 것이 최적이다. 두 번째 질의에서는 의 3개 작업을 수행하는 것이 최적이다.
입력
첫째 줄에 테스트 케이스의 개수를 나타내는 자연수 가 주어진다 (). 이후 개의 테스트 케이스가 차례로 주어진다.
각 테스트 케이스의 첫 줄에는 작업의 수 이 주어진다 (). 이후 개의 줄에 작업의 시작 시간과 종료 시간 가 주어진다 ().
다음 줄에는 질의의 수 가 주어진다 (). 각 질의의 첫 줄에는 새 작업의 개수 가 주어진다 (, ). 이후 개의 줄에 새 작업의 시작 시간과 종료 시간 가 주어진다 ().
모든 테스트 케이스에 대한 의 합은 이하이다. 모든 테스트 케이스에 대한 의 합은 이하이다.
출력
각 테스트 케이스마다 첫 줄에 Case #를 출력한다. 이때 는 테스트 케이스의 번호이다. 이후 개의 줄에 걸쳐 각 질의의 답을 출력한다.