만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

같이 달리기

면접 대비

시간 제한1초메모리 제한1024 MB

요약
N개 지점이 이루는 고리에서 각 구간 길이가 주어질 때, 혼자 달려야 하는 거리의 합이 최소가 되도록 출발 지점을 고른다.
난이도

보통10점 중 4점

유형
완전 탐색, 시뮬레이션, 배열, 누적 합
정답자
아직 제출이 없습니다

문제

여러분과 몇 명의 친구는 룬드 주변을 일주일에 한 번 함께 달린다. 여러분 모두는 여럿이 함께 달리는 것보다 혼자 달리는 것이 지루할 뿐만 아니라 위험하다는 데 동의한다. 그래서 여러분과 친구들은 누군가 혼자 달려야 하는 거리를 최소화하기로 한다.

여러분은 NN명의 친구이고, NN개의 서로 다른 위치에 살며 위치는 00부터 N−1N-1까지 번호가 붙어 있다. 각자는 모든 위치를 순환 순서로 지나는 한 바퀴를 정확히 한 번 달린다. 위치 ii에 사는 사람은 i→i+1(modN)→…→N−1→0→…→i−1(modN)→ii\rightarrow i+1\pmod{N}\rightarrow\ldots\rightarrow N-1\rightarrow 0\rightarrow\ldots\rightarrow i-1\pmod{N}\rightarrow i 순서로 달린다. 누군가 달리기를 시작하면, 나머지는 무리가 다가올 때 합류해 정확히 한 바퀴를 달리고 무리가 자기 집으로 돌아오면 멈춘다.

가장 좋은 사람이 달리기를 시작한다고 할 때, 누군가 혼자 달려야 하는 총 거리의 최솟값은 얼마인가? 위 예에서 가장 좋은 선택은 위치 33에서 달리기를 시작하는 것이다. 그러면 첫 번째 주자는 33에서 00까지의 구간을 혼자 달려야 하고, 위치 22에 사는 친구도 11에서 22까지 혼자 달린다는 것을 쉽게 확인할 수 있으므로 혼자 달리는 총 거리는 44이다.

입력

입력의 첫 줄에는 무리의 친구 수 NN이 주어진다. (2≤N≤102\leq N\leq 10) 이어서 NN개의 줄이 주어지고, ii번째 줄에는 위치 ii에서 위치 i+1(modN)i+1\pmod{N}까지의 거리 하나가 정수로 주어진다. 각 거리는 11과 10410^4 사이이다.

출력

가장 좋은 사람이 달리기를 시작한다고 할 때, 누군가 혼자 달려야 하는 총 거리의 최솟값을 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    4
    4
    1
    2
    3
    
    예상 출력
    4