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

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

트럭 마주치기

시간 제한3초메모리 제한64 MB

요약
같은 속도로 도시 사이를 지그재그로 오가는 트럭 쌍마다 두 트럭이 같은 위치에 만나는 횟수를 구합니다.
난이도

어려움10점 중 8점

유형
구간, 정렬, 투 포인터
정답자
아직 제출이 없습니다

문제

도로를 달리는 트럭 NN대의 움직임을 관찰한다. 도로는 수직선이고, 수직선 위의 정수 좌표마다 도시가 하나씩 있다. 도시의 이름은 그 도시가 놓인 좌표의 값과 같다.

모든 트럭은 속력이 같고, 어느 순간에도 멈춰 있는 트럭은 없다. 트럭은 인접한 두 도시 사이의 거리를 1분에 지난다.

트럭마다 경로가 주어진다. 모든 트럭은 같은 순간에 경로를 출발한다.

경로는 도시 kk개를 늘어놓은 A1,A2,…,AkA_1, A_2, \dots, A_k로 주어진다. 트럭은 도시 A1A_1에서 출발해 도시 A2A_2까지 달리고, 방향을 바꿔 도시 A3A_3까지 달리고, 이런 식으로 경로를 끝까지 달린다. 트럭이 매번 방향을 바꾸므로 다음 중 하나가 성립한다.

A1<A2>A3<A4>…또는A1>A2<A3>A4<…A_1 < A_2 > A_3 < A_4 > \dots \qquad \text{또는} \qquad A_1 > A_2 < A_3 > A_4 < \dots

방향을 바꾸는 데 걸리는 시간은 없다고 본다.

예를 들어 경로가 2, 5, 1, 7이라면 트럭은 처음에 도시 2에 있고, 출발한 지 3분 뒤에 도시 5에 도착한다. 여기서 방향을 바꿔 도시 1로 달려가 출발한 지 7분 뒤에 도착한다. 다시 방향을 바꿔 도시 7로 달려가 13분에 도착한다.

경로를 모두 달린 트럭은 외계인이 우주선으로 데려가므로 도로에서 사라진다.

트럭 몇 쌍을 정해서 두 트럭이 도로에서 몇 번 마주쳤는지 알고 싶다. 다시 말해 두 트럭이 같은 위치에 있던 횟수를 알고 싶다. 마주친 위치가 정수일 필요는 없다. 위치 2.5에서 마주쳐도 된다.

트럭의 수 NN과 각 트럭의 경로, 그리고 트럭 MM쌍이 주어질 때 각 쌍이 마주친 횟수를 구하는 프로그램을 작성한다.

질문으로 주어지는 각 쌍 (ai,bi)(a_i, b_i)는 다음 두 조건을 만족한다.

  • 두 트럭 중 하나가 (또는 둘 다) 도로에서 사라지는 순간에 두 트럭은 같은 위치에 있지 않다.
  • 출발하는 순간, 그리고 두 트럭 중 하나가 (또는 둘 다) 방향을 바꾸는 순간에 두 트럭은 같은 위치에 있지 않다.

이 조건은 질문으로 주어지는 쌍에만 성립하고, 모든 트럭 쌍에 성립하지는 않는다.

입력

첫째 줄에 트럭의 수 NN과 질문할 쌍의 수 MM이 주어진다. (1≤N≤1051 \le N \le 10^5, 1≤M≤1051 \le M \le 10^5)

다음 NN개 줄 중 ii번째 줄에는 ii번 트럭의 경로가 주어진다. 줄의 첫 정수는 경로에 있는 도시의 수 KiK_i이고 (2≤Ki≤3×1052 \le K_i \le 3 \times 10^5), 그 뒤에 트럭이 지나는 순서대로 도시의 번호 AjA_j가 KiK_i개 주어진다. (1≤Aj≤1091 \le A_j \le 10^9)

모든 트럭의 경로 길이를 더한 값은 3×1053 \times 10^5을 넘지 않는다.

다음 MM개 줄에는 각각 두 정수 aia_i와 bib_i가 주어진다. 마주친 횟수를 알고 싶은 두 트럭의 번호다.

출력

MM개 줄을 출력한다. ii번째 줄에는 입력에서 ii번째로 주어진 쌍의 두 트럭이 마주친 횟수를 출력한다.

예제3

  1. 예제 1

    입력
    3 3
    3 1 3 1
    2 2 1
    3 3 1 3
    1 2
    2 3
    3 1
    
    예상 출력
    1
    0
    2
    
  2. 예제 2

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

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