#AT0076. Vasya and Books

Vasya and Books

题面翻译

题目描述

Vasya 有 nn 本书,编号从 11nn,放在一个栈中,最上面的书的编号为 a1a_{1},下一本书为 a2a_{2},以此类推,栈底部的书编号为 ana_{n},所有书的数字都是不同的。

Vasya 想在 nn 次操作下,把所有书都移动到他的背包里,在第 ii 次操作中他想移动编号为 bib_{i} 的书到他的包里,如果这本书还在栈中,他将取走 bib_{i}bib_{i} 以上的所有书,并且将它们都放到包里,否则他什么都不需要做,并且开始取下一本书。

请你帮助 Vasya,告诉他每一步他要取走几本书。

翻译提供:@Maysoul

输入格式

第一行只有一个整数 nn,代表栈中书的数量。

第二行有 nn 个整数 a1,a2,,ana_{1}, a_{2}, \ldots, a_{n} 表示栈中书的编号。

第三行有 nn 个整数 b1,b2,,bnb_{1}, b_2, \ldots, b_{n} 表示 Vasya 将要取走的书。

保证 a1na_{1\sim n} 互不相同,b1nb_{1\sim n} 互不相同。

输出格式

输出 nn 个整数,代表在第 ii 步 Vasya 需要移动的书的数目,如不需移动则输出 00

数据范围

1n2×1051\le n \le 2\times 10^{5}

1ai,bin1\le a_{i}, b_i \le n

1bin1\le b_{i} \le n

说明/提示

在样例 22 中,第一步 Vasya 取走了编号为 44 及以上的三本书,在那之后,只有编号为 2255 的书还在栈中,并且 2255 上面,在下一步 Vasya 取走了编号为 55 及以上的两本书,在之后的操作中,没有书可以再被移动了。

题目描述

Vasya has got n n books, numbered from 1 1 to n n , arranged in a stack. The topmost book has number a1 a_1 , the next one — a2 a_2 , and so on. The book at the bottom of the stack has number an a_n . All numbers are distinct.

Vasya wants to move all the books to his backpack in n n steps. During i i -th step he wants to move the book number bi b_i into his backpack. If the book with number bi b_i is in the stack, he takes this book and all the books above the book bi b_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 1 1 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 ( 1 1 and 2 2 ), during the second step he will do nothing (since book 1 1 is already in the backpack), and during the third step — one book (the book number 3 3 ). Note that b1,b2,,bn b_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.

输入格式

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

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

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

All numbers a1an a_1 \dots a_n are distinct, the same goes for b1bn b_1 \dots b_n .

输出格式

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

输入输出样例

3
1 2 3
2 1 3
2 0 1
5
3 1 4 2 5
4 5 1 3 2
3 2 0 0 0
6
6 5 4 3 2 1
6 5 3 4 2 1
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 2 2 and 5 5 remain in the stack ( 2 2 is above 5 5 ). During the second step Vasya will take the books 2 2 and 5 5 . After that the stack becomes empty, so during next steps Vasya won't move any books.