QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#20900. 어휘 퀴즈

Statistics

Bessie는 Elsie의 다가오는 어휘 퀴즈를 돕습니다. 출제 단어는 서로 다른 $M$개 단어의 목록에서 가져오며, 어느 단어도 목록의 다른 단어의 접두사가 아닙니다.

목록이 비어 있지 않은 동안 Bessie는 단어를 골라 삭제하고 왼쪽부터 한 글자씩 읽습니다. Elsie는 단어를 유일하게 알아낼 수 있게 되면 알려야 하며, 그러면 Bessie는 읽기를 멈춥니다.

읽는 순서는 이미 $w_1,w_2,\dots,w_M$입니다. Elsie가 최대한 빨리 답하면 Bessie는 각 단어의 몇 글자를 읽습니까?

단어는 압축 형식으로 주어집니다. 먼저 서로 다른 $N+1$개($1\le N\le 10^6$) 단어를 정의하고, 다른 단어의 접두사가 아닌 모든 단어가 목록을 구성합니다. 정의는 다음과 같습니다.

  • 처음에 $0$번째 단어는 빈 문자열입니다.
  • 각 $1\le i\le N$에 대해 $i$번째 단어는 $p_i$번째 단어 끝에 한 글자를 붙인 것입니다($0\le p_i<i$). 모든 $N+1$개 단어가 서로 다르도록 글자를 고릅니다.

입력

첫 줄은 $N$이며 $N+1$이 압축 형식의 단어 수입니다.

다음 줄은 $p_1,p_2,\dots,p_N$입니다. $p_i$는 $i$번째 단어를 $p_i$번째 단어 끝에 한 글자를 붙여 만든다는 뜻입니다.

다른 단어의 접두사가 아닌 단어 수를 $M$이라 합니다. 다음 $M$개 줄은 $w_1,w_2,\dots,w_M$이며 $w_i$번째 단어를 $i$번째로 읽는다는 뜻입니다. 읽는 순서는 목록 단어들의 순열이라고 보장됩니다.

출력

$M$개의 줄을 출력하세요. $i$번째 줄은 읽는 순서의 $i$번째 단어에서 읽는 글자 수입니다.

예제

입력 1

5
0 1 2 3 4
5

출력 1

0

참고

$0\dots 5$로 번호 매겨진 $6$개 단어가 있습니다. $5$만 다른 단어의 접두사가 아니어서 목록에 혼자 있습니다. 일반적으로 단어가 하나만 남으면 Elsie는 글자를 듣지 않아도 알아냅니다.

입력 2

4
0 0 1 1
4
3
2

출력 2

2
1
0

참고

목록은 단어 $2$, $3$, $4$입니다.

$3$과 $4$의 첫 글자가 같아서 $4$를 알아내려면 두 글자가 필요합니다.

$4$는 이미 읽었으므로 Bessie가 $3$의 첫 글자를 읽으면 Elsie는 유일하게 알아냅니다.

입력 3

4
0 0 1 1
2
3
4

출력 3

1
2
0

서브태스크

  • 입력 넷부터 다섯까지: 길이가 $20$보다 큰 단어가 없습니다.
  • 입력 여섯부터 열까지: 목록의 모든 단어 길이의 합은 $10^7$ 이하입니다.
  • 입력 열하나부터 열여덟까지: 추가 제약 없음.

문제 작성자: Benjamin Qi

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.