# 각 원소를 delete하는 과정에서 pop을 사용하면
# 리스트 전체에 변화를 주게 되므로 시간초과가 뜨게 될 겁니다.
import sys
# N, M = map(int, sys.stdin.readline().split())
N, M = map(int, input().split())
elements = [x for x in range(1, N + 1)]
# position = list(map(int, sys.stdin.readline().split()))
position = list(map(int, input().split()))
count = 0
for i in range(len(position)):
left = 0
right = 0
memory = [0] * len(elements)
if(elements[0] == position[i]):
del elements[0]
else:
for j in range(len(elements)):
memory[j] = elements[j]
# 오른쪽으로 옮기는 경우
while memory[0] != position[i]:
memory.insert(0, memory[-1])
del memory[-1]
right += 1
# 왼쪽으로 옮기는 경우
while elements[0] != position[i]:
elements.append(elements[0])
del elements[0]
left += 1
if(right >= left):
count = count + left
else:
count = count + right
elements = memory
del elements[0]
sys.stdout.write(str(count))
'# 코딩 문제 관련 > 파이썬' 카테고리의 다른 글
백준 10171번(python) (0) | 2019.06.26 |
---|---|
백준 5430번(python) (0) | 2019.06.25 |
백준 10866번(python) (0) | 2019.06.20 |
백준 11866번, 1158번(python) (0) | 2019.06.20 |
백준 1966번(python) (0) | 2019.06.20 |