#P3. 驿站の栈
驿站の栈
问题描述
经过深思熟虑,上官来到下北泽的菜鸟驿站打工。这家店比较节约,只有两排竖着堆起来的货物,分别是 与 ,每一排可以看作一个栈。每个物品都有自己的编号, 堆的为 , 堆的为 。
某天,上官收到了一张取货清单,现在他需要 依次 一个一个一个把清单上的货物取出来(取完的货视为直接放到了店外面的车上,不占用店里的任何空间)。
由于店家非常节约,所以除了那两个栈 与 外,没有多余的地方堆货了;同时由于栈的性质,上官每次只能从栈顶取货。因此如果上官需要取的货物 上面有其他货物,就要先把 上面的货物一个一个一个地放到另一个栈的栈顶,最后才能取出 。
上官那傻傻的脑子又转了起来,他想知道对每次取货,需要移动多少次,好让心里有个底。但货物实在太多了,现在他想请你帮他算算这个答案是多少。
输入输出格式
输入格式
第一行为两个正整数 ,,分别表示 堆的货物数和 堆的货物数。
第二行为 个用空格隔开的正整数,从左到右分别表示 堆的货物从顶部到底部的货物编号 。
第三行为 个用空格隔开的正整数,从左到右分别表示 堆的货物从顶部到底部的货物编号 。
第四行为一个正整数 ,表示清单上的货物总数。
最后一行为 个用空格隔开的正整数,表示每次取出货物的编号。
数据保证每个物品的编号都不相同。 清单上的物品一定存在两堆货物的其中一堆。 取走货物不算移动次数。
,,。
输出格式
输出 行,每行输出一个整数,表示每次取货物需要移动多少次其他货物。
测试样例
3 3
3 2 1
4 7 6
2
7 1
1
3
样例解释
第一次要取的是编号 的货物,它在 堆上,但是由于上面有一个编号 的压着,因此需要移动一次 到 堆,再取出 。所以第一行输出 。
第二次要取的是 号货物,它在 堆上,但是由于上面两个编号为 、 的货物,还有一个在第一次取 过程中入栈的 ,所以 上面总共有三个货物,所以需要移动其他货物 次才能拿到 。所以第二行输出 。