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

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

1차원 체스

시간 제한1초메모리 제한512 MB

요약
N개의 수열이 주어질 때, 두 수열이 처음으로 달라지기 직전에 공통으로 가지는 값이 각 질의 값마다 모든 쌍에서 몇 번 나타나는지 센다.
난이도

어려움10점 중 8점

유형
트라이, 누적 합, 해시맵, 트리
정답자
아직 제출이 없습니다

문제

1차원 세계에는 1차원 체스라는 게임이 존재한다. 1차원 세계에 사는 체스 마스터 무지는 다음 중요한 경기를 위해 기보 분석에 빠져 있다.

1차원 체스의 기보는 1부터 10,000까지의 수를 가진 수열 AA로 나타난다.

두 기보를 비교할 때 처음으로 값이 달라지는 위치가 존재하면, 그 이전 위치의 수를 기점이라고 한다. 즉 기보쌍 {A,B}\{A, B\}에 대해 기점은 다음과 같다.

2≤K≤min⁡(∣A∣,∣B∣)2 \le K \le \min(|A|, |B|)인 KK에 대해 Ai=BiA_i = B_i (1≤i<K)(1 \le i < K)이고 AK≠BKA_K \neq B_K이면, 두 기보의 기점은 AK−1A_{K-1}로 정의된다.

기보쌍의 기점이 존재하지 않을 수도 있다.

무지는 NN개의 기보를 가지고 있고, 가능한 모든 기보쌍에 대해 특정 수가 몇 번이나 기점이 되는지 궁금하다. 무지를 도와주자.

입력

입력의 첫 줄에 기보의 개수 NN과 무지가 궁금한 수의 개수 QQ가 정수로 주어진다. (2≤N≤100,0002 \le N \le 100,000, 1≤Q≤10,0001 \le Q \le 10,000)

두 번째 줄부터 N+1N+1번째 줄까지 각 줄마다 기보의 크기를 나타내는 정수 SS가 주어지고, A1  A2 ... ASA_1 \; A_2 \, ... \, A_S의 형태로 기보의 값이 정수로 주어진다. (1≤S1 \le S, 1≤Ai≤10,0001 \le A_i \le 10,000)

N+2N+2번째 줄부터 N+Q+1N+Q+1번째 줄까지 무지가 궁금한 수가 각 줄마다 QiQ_i 형태로 주어진다. (1≤Qi≤10,0001 \le Q_i \le 10,000, QiQ_i는 모두 서로 다르다)

전체 기보의 크기 합은 1,000,0001,000,000을 넘지 않는다. (∑S≤1,000,000\sum S \le 1,000,000)

출력

무지가 궁금해하는 수 QQ개 각각에 대해, 모든 기보쌍을 비교했을 때 그 수가 몇 번이나 기점이 되는지 QQ개의 줄에 나눠서 순서대로 출력한다.

예제1

  1. 예제 1

    입력
    6 4
    3 1 2 3
    4 1 2 4 5
    4 1 2 4 6
    6 2 23 23 3 3 23
    6 2 23 23 3 3 23
    3 2 23 21
    2
    3
    4
    23
    
    예상 출력
    2
    0
    1
    2