만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

탈출 경로 2

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

요약
매일 반복되는 항공편 시간표가 주어질 때, 각 질의마다 도시 L에서 R까지 가는 최소 소요 시간을 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 이분 탐색, 정렬
정답자
아직 제출이 없습니다

문제

IOI 왕국에는 서쪽에서 동쪽으로 한 줄로 늘어선 NN개의 도시가 있다. 도시에는 서쪽부터 차례로 1번부터 NN번까지 번호가 붙어 있다.

IOI 왕국은 시간의 단위로 바이오우(Byou)를 쓴다. 하루는 TT바이오우로 나뉜다. 하루의 시작으로부터 xx바이오우(0≤x<T0 \le x < T) 뒤의 시각을 시각 xx라고 한다. 따라서 어떤 날의 시각 T−1T-1에서 1바이오우가 지나면 다음 날의 시각 00이 된다.

JOI 그룹은 IOI 왕국의 비밀 결사이다. 구성원은 나라 곳곳의 검문소를 피해 다녀야 하므로, 도시 간 이동에는 JOY 항공사가 운항하는 항공편만 이용한다.

JOY 항공사는 도시 ii(1≤i≤N−11 \le i \le N-1)에서 출발하는 항공편을 MiM_i개 운항한다. jj번째 항공편(1≤j≤Mi1 \le j \le M_i)은 매일 시각 Ai,jA_{i,j}에 도시 ii에서 출발하여 같은 날 시각 Bi,jB_{i,j}에 도시 i+1i+1에 도착한다. 여기서 Ai,j<Bi,jA_{i,j} < B_{i,j}이다. 이 항공편들로 편리하게 환승할 수 있다. 도착하자마자 바로 출발할 수도 있고, 항공사의 공항에서 하룻밤 머물 수도 있다.

JOI 그룹에는 1번부터 QQ번까지 번호가 붙은 구성원 QQ명이 있다. 구성원 kk(1≤k≤Q1 \le k \le Q)의 작전 기지는 도시 LkL_k에, 생활 기지는 도시 RkR_k에 있다. 각 구성원은 도시 LkL_k에서 출발하는 시각과 이용할 항공편을 골라 LkL_k에서 RkR_k까지 가는 데 걸리는 최소 시간을 알고 싶어 한다.

주어진 항공편 정보와 구성원의 기지 정보를 바탕으로, 각 구성원 kk가 도시 LkL_k에서 도시 RkR_k까지 가는 데 필요한 최소 시간을 구하는 프로그램을 작성하라.

입력

표준 입력에서 다음 데이터를 읽는다.

N T
M_1
A_{1,1} B_{1,1}
A_{1,2} B_{1,2}
...
A_{1,M_1} B_{1,M_1}
M_2
...
M_{N-1}
...
Q
L_1 R_1
L_2 R_2
...
L_Q R_Q

출력

표준 출력에 QQ개의 줄을 출력한다. kk번째 줄에는 구성원 kk가 도시 LkL_k에서 도시 RkR_k까지 가는 데 필요한 최소 시간을 출력한다.

제한

  • 2≤N≤100 0002 \le N \le 100\,000.
  • 2≤T≤1092 \le T \le 10^9.
  • Mi≥1M_i \ge 1 (1≤i≤N−11 \le i \le N-1).
  • M1+M2+⋯+MN−1≤100 000M_1 + M_2 + \cdots + M_{N-1} \le 100\,000.
  • 0≤Ai,j<Bi,j<T0 \le A_{i,j} < B_{i,j} < T (1≤i≤N−11 \le i \le N-1, 1≤j≤Mi1 \le j \le M_i).
  • 1≤Q≤300 0001 \le Q \le 300\,000.
  • 1≤Lk<Rk≤N1 \le L_k < R_k \le N (1≤k≤Q1 \le k \le Q).
  • 입력되는 값은 모두 정수이다.

예제2

  1. 예제 1

    입력
    4 10000
    1
    100 300
    2
    200 400
    300 600
    1
    500 600
    3
    1 3
    2 4
    1 4
    
    예상 출력
    500
    400
    10500
    
  2. 예제 2

    입력
    6 10000
    1
    100 300
    1
    400 700
    1
    500 600
    1
    300 900
    1
    200 800
    1
    1 6
    
    예상 출력
    30700