C. Yet Another Card Deck

time limit per test

2 seconds

memory limit per test

256 megabytes

You have a card deck of n cards, numbered from top to bottom, i. e. the top card has index 1 and bottom card --- index n. Each card has its color: the i-th card has color ai.

You should process q queries. The j-th query is described by integer tj. For each query you should:

  • find the highest card in the deck with color tj, i. e. the card with minimum index;
  • print the position of the card you found;
  • take the card and place it on top of the deck.

Input

The first line contains two integers n and q (2≤n≤3⋅105; 1≤q≤3⋅105) --- the number of cards in the deck and the number of queries.

The second line contains n integers a1,a2,...,an (1≤ai≤50) --- the colors of cards.

The third line contains q integers t1,t2,...,tq (1≤tj≤50) --- the query colors. It's guaranteed that queries ask only colors that are present in the deck.

Output

Print q integers --- the answers for each query.

Example

Input

Copy

复制代码
7 5
2 1 1 4 3 3 1
3 2 1 1 4

Output

Copy

复制代码
5 2 3 1 5 

Note

Description of the sample:

  1. the deck is 2,1,1,4,3--,3,1 and the first card with color t1=3 has position 5;
  2. the deck is 3,2--,1,1,4,3,1 and the first card with color t2=2 has position 2;
  3. the deck is 2,3,1--,1,4,3,1 and the first card with color t3=1 has position 3;
  4. the deck is 1--,2,3,1,4,3,1 and the first card with color t4=1 has position 1;
  5. the deck is 1,2,3,1,4--,3,1 and the first card with color t5=4 has position 5.

解题说明:此题是一道模拟题,其实就是对队列进行操作。根据题目意思找出数字,然后进行移动,不断输出查找的值即可。

cpp 复制代码
#include<stdio.h>
int a[300005];
int main()
{
	int n, q, t;
	scanf("%d %d", &n, &q);
	for (int i = 1; i <= n; i++) 
	{
		scanf("%d", &a[i]);
	}
	for (int i = 1; i <= q; i++)
	{
		int fg1;
		scanf("%d", &t);
		for (int j = 1; j <= n; j++) 
		{
			if (a[j] == t)
			{
				printf("%d ", j);
				fg1 = j;
				break;
			}
		}
		for (int k = fg1; k > 1; k--)
		{
			a[k] = a[k - 1];
		}
		a[1] = t;
	}
	return 0;
}
相关推荐
大都督会赢的13 分钟前
C++第一节课
开发语言·c++
“AI国潮设计-小江”18 分钟前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
小王C语言35 分钟前
Qt常用控件:容器类控件,标题分组框、标签页(浏览器标签)
开发语言·qt
我是唐青枫1 小时前
Kotlin Delegation 委托详解
开发语言·kotlin
qq_406981031 小时前
共享变量一 关于extern与const
开发语言·c++
FRing032 小时前
JavaScript入门到精通三十二(深拷贝、浅拷贝、递归函数)
开发语言·前端·javascript
小嘉丶学长3 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
迪菲赫尔曼3 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
chari克里4 小时前
QT5.15.2 + msvc2022部署全流程说明(windows可联网环境)
开发语言·c++·qt
Hello.Reader4 小时前
tsrs 技术解析用 Rust 移植 TypeScript 7,类型检查还能怎样提速?
开发语言·rust·typescript