교집합 만들기

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

구간 \[l,r]\[l,r]이란, ll 이상 rr 이하의 모든 실수로 이루어진 집합을 의미한다.

구간 NN개가 주어진다. 이때, 다음과 같은 질의 QQ개를 해결하는 프로그램을 작성하시오.

  • 주어진 llrr에 대해, 구간을 11개 이상 선택하여 그 교집합이 정확히 \[l,r]\[l,r]이 되도록 할 수 있는가? 만약 가능하다면, 최소 몇 개의 구간을 선택해야 하는가?

입력

첫 번째 줄에는 구간의 개수 NN이 주어진다. (1N300,000)(1\leq N\leq 300\\, 000)

그 다음 줄부터 NN개의 줄에 걸쳐, 한 줄에 하나씩 구간 \[l_i,r_i]\[l\_i,r\_i]를 나타내는 정수 l_il\_ir_ir\_i가 공백으로 구분되어 주어진다. (0l_i\<r_i106)(0\leq l\_i\<r\_i\leq 10^6)

그 다음 줄에는 질의의 개수 QQ가 주어진다. (1Q300,000)(1\leq Q\leq 300\\, 000)

그 다음 줄부터 QQ개의 줄에 걸쳐, 한 줄에 하나씩 질의에서 주어지는 두 정수 llrr이 공백으로 구분되어 주어진다. (0l\<r106)(0\leq l\<r\leq 10^6)

출력

각 질의마다 한 줄에 하나씩, 구간의 교집합이 정확히 \[l,r]\[l,r]이 되도록 할 수 없으면 1-1을 출력하고, 할 수 있으면 선택해야 하는 구간의 최소 개수를 출력한다.