CF1073B.Vasya and Books

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Vasya has got nn books, numbered from 11 to nn, arranged in a stack. The topmost book has number a1a_1, the next one — a2a_2, and so on. The book at the bottom of the stack has number ana_n. All numbers are distinct.

Vasya wants to move all the books to his backpack in nn steps. During ii-th step he wants to move the book number bib_i into his backpack. If the book with number bib_i is in the stack, he takes this book and all the books above the book bib_i, and puts them into the backpack; otherwise he does nothing and begins the next step. For example, if books are arranged in the order [1,2,3][1, 2, 3] (book 11 is the topmost), and Vasya moves the books in the order [2,1,3][2, 1, 3], then during the first step he will move two books (11 and 22), during the second step he will do nothing (since book 11 is already in the backpack), and during the third step — one book (the book number 33). Note that b1,b2,…,bnb_1, b_2, \dots, b_n are distinct.

Help Vasya! Tell him the number of books he will put into his backpack during each step.

瓦西娅有 nn 本书,编号从 11 到 nn,堆叠成一摞。最上面的书编号为 a1a_1,其下方的书编号为 a2a_2,依此类推。位于栈底的书编号为 ana_n。所有编号互不相同。

瓦西娅希望在 nn 步内将所有书全部放入他的背包中。在第 ii 步中,他希望将编号为 bib_i 的书放入背包。如果编号为 bib_i 的书仍在栈中,则他取出该书以及它上方的所有书,并将它们全部放入背包;否则他什么也不做,直接进入下一步。例如,若书的堆叠顺序为 [1,2,3][1, 2, 3](书 11 位于最上方),而瓦西娅按顺序 [2,1,3][2, 1, 3] 取书,则:第一步他会取出两本书(11 和 22);第二步他什么也不做(因为书 11 已在背包中);第三步他取出一本书(编号为 33 的书)。注意,b1,b2,…,bnb_1, b_2, \dots, b_n 互不相同。

请帮助瓦西娅!告诉他每一步中他将放入背包的书本数量。

输入格式

The first line contains one integer n (1≤n≤2⋅105)n~(1 \le n \le 2 \cdot 10^5) — the number of books in the stack.

The second line contains nn integers a1,a2,…,an (1≤ai≤n)a_1, a_2, \dots, a_n~(1 \le a_i \le n) denoting the stack of books.

The third line contains nn integers b1,b2,…,bn (1≤bi≤n)b_1, b_2, \dots, b_n~(1 \le b_i \le n) denoting the steps Vasya is going to perform.

All numbers a1…ana_1 \dots a_n are distinct, the same goes for b1…bnb_1 \dots b_n.

第一行包含一个整数 n (1≤n≤2⋅105)n~(1 \le n \le 2 \cdot 10^5) —— 表示书堆中的书本数量。

第二行包含 nn 个整数 a1,a2,…,an (1≤ai≤n)a_1, a_2, \dots, a_n~(1 \le a_i \le n),表示书堆的初始排列。

第三行包含 nn 个整数 b1,b2,…,bn (1≤bi≤n)b_1, b_2, \dots, b_n~(1 \le b_i \le n),表示瓦西亚将要执行的操作步骤。

所有数字 a1,…,ana_1, \dots, a_n 互不相同,b1,…,bnb_1, \dots, b_n 同样互不相同。

输出格式

Print nn integers. The ii-th of them should be equal to the number of books Vasya moves to his backpack during the ii-th step.

输出 nn 个整数。其中第 ii 个整数应等于 Vasya 在第 ii 步中放入他背包的书本数量。

输入输出样例

  • 输入#1

    3
    1 2 3
    2 1 3

    输出#1

    2 0 1
  • 输入#2

    5
    3 1 4 2 5
    4 5 1 3 2

    输出#2

    3 2 0 0 0
  • 输入#3

    6
    6 5 4 3 2 1
    6 5 3 4 2 1

    输出#3

    1 1 2 0 1 1

说明/提示

The first example is described in the statement.

In the second example, during the first step Vasya will move the books [3,1,4][3, 1, 4]. After that only books 22 and 55 remain in the stack (22 is above 55). During the second step Vasya will take the books 22 and 55. After that the stack becomes empty, so during next steps Vasya won't move any books.

第一个示例已在题目描述中给出。

在第二个示例中,第一步中 Vasya 将移动书籍 [3,1,4][3, 1, 4]。之后,堆栈中仅剩下书籍 22 和 55(其中 22 位于 55 的上方)。第二步中,Vasya 将取走书籍 22 和 55。此后堆栈变为空,因此在后续步骤中 Vasya 将不再移动任何书籍。

输入解题思路,AI测评打分。不知道怎么写?

首页