수열 재배열
면접 대비시간 제한2초메모리 제한512 MB
1부터 n까지의 수열에서 각 요청이 지정한 정수를 맨 앞으로 옮기고 나머지 순서는 유지할 때, 모든 요청을 처리한 뒤의 최종 수열을 출력한다.
문제
1부터 까지의 정수가 차례로 놓인 수열 이 있다. 이어서 요청이 여러 개 주어진다. 각 요청은 수열에 들어 있는 정수 하나를 지정하며, 지정된 정수를 수열의 맨 앞으로 옮긴다. 나머지 원소의 순서는 그대로 둔다. 모든 요청을 주어진 순서대로 처리한 뒤 수열에 놓인 원소의 순서를 구하여라.
입력
입력은 다음 형태의 테스트 케이스 하나로 이루어진다.
n m
e1
.
.
.
em
은 수열의 길이다 (). 은 요청의 개수다 (). 이어지는 개의 줄에 요청 이 한 줄에 하나씩 주어진다. 각 요청 ()는 이상 이하의 정수이며, 옮길 원소를 나타낸다. 요청이 가리키는 값은 수열에서의 위치가 아니라 옮길 정수 자체다.
출력
모든 요청을 처리한 뒤의 수열을 출력한다. 원소를 수열에 놓인 순서대로 한 줄에 하나씩 출력한다.
힌트
이 이고 요청이 차례로 , , 인 경우를 보자. 처음 수열은 다. 첫 요청은 정수 를 맨 앞으로 옮기므로 수열은 가 된다. 다음 요청으로 를 맨 앞으로 옮기면 가 되고, 마지막으로 를 옮기면 이 된다.