n,m=map(int,input().split())
arr= list(map(int,input().split()))
hap=arr[0]-1
for i in range(len(arr)-1):
if arr[i]<=arr[i+1]:
hap+=arr[i+1]-arr[i]
else:
hap+=n-arr[i]+arr[i+1]
print(hap)
n개의 집이 시계방향으로 있을때, 시계방향으로 순차적으로 돌면서 인풋으로 받은 집들을 순회하면서 걸리는 총 이동을 구하는 문제이다.
먼저 arr의 길이의 -1한만큼 돌린다.(i번째와 i+1번쨰를 비교할 것이기 때문)
총 이동을 뜻하는 hap변수를 arr의 i번째 인덱스 값보다 i+1번쨰 값이 같거나 클떄는 그냥 그 차이만큼 더해주면 된다.
하지만 반대라면 n-arr[i]만큼 움직인뒤에 arr[i+1]만큼 또 움직여줘야한다.
'코드포스 풀이' 카테고리의 다른 글
코드포스 1512a 파이썬 풀이 (0) | 2022.04.11 |
---|---|
코드포스 1633B 풀이 (0) | 2022.02.01 |
코드포스 230A 풀이 (0) | 2022.01.31 |
코드포스 131A 풀이 (0) | 2022.01.31 |
코드포스 344A 풀이 (0) | 2022.01.31 |