https://www.acmicpc.net/problem/1021
python의 deque를 사용하면 쉽게 풀리는 문제입니다.
뽑고자 하는 숫자가 앞에서 더 가까운지 뒤에서 더 가까운지 확인한 후 rotate시킵니다.(같다면 해당 숫자를 왼쪽으로 이동시킵니다. 오른쪽으로 이동시킬 경우 맨 뒤에서 맨 앞으로 이동시켜야되는 과정이 추가로 붙기 때문)
from sys import stdin
from collections import deque
input = stdin.readline
n, num_of_pop = map(int, input().split())
want_to_pop = list(map(int, input().split()))
q = deque([ii for ii in range(1, n+1)])
count = 0
for ww in want_to_pop:
target_index = q.index(ww)
rotate_direction = -1 if target_index <= len(q) - target_index else 1
while q[0] != ww:
q.rotate(rotate_direction)
count += 1
q.popleft()
print(count)