역시 내 이세계 수열은 잘못됐다

면접 대비

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

요약
각 대칭 쌍마다 더 작은 값을 +1 또는 +K 연산으로 올려 양쪽을 같게 만들 때 필요한 최소 연산 횟수의 합을 구한다.
난이도

보통10점 중 5점

유형
그리디, 수학, 구현
정답자
아직 제출이 없습니다

문제

ecode는 매점으로 가는 길에 넘어져 이세계에 떨어지고 말았다. 이세계에 도착한 ecode는 바닥에서 수열을 발견했다. 수열 AA는 NN개의 양의 정수 A_1,A_2,⋯ ,A_NA\_{1}, A\_{2}, \cdots, A\_{N}으로 이루어져 있었고, 그 옆에는 양의 정수 KK가 적혀 있었다.

ecode는 함께 놓여 있던 누군가의 쪽지를 열어보았다.

  • 모든 ii (1≤i≤⌈N2⌉)(1 \leq i \leq \left\lceil \frac{N}{2} \right\rceil) 에 대해서 A_i=A_N−i+1A\_i=A\_{N-i+1}이 성립해야 완전한 수열이라 할 수 있다. 여기서 ⌈x⌉\left\lceil x \right\rceil는 xx 이상의 정수 중 가장 작은 정수이다.
  • 당신은 원하는 만큼 +K+K 연산 또는 +1+1 연산을 실행할 수 있다.
  • +K+K 연산은 수열 AA의 원소 중 하나를 고르고, 값을 KK만큼 증가시킨다.
  • +1+1 연산은 수열 AA의 원소 중 하나를 고르고, 값을 11만큼 증가시킨다.
  • 수열 AA를 완전한 수열로 만드는 용사만이 원래 세계로 돌아갈 수 있을 것이다.

ecode는 현실 세계로 돌아가기 위해 최대한 빨리 수열 AA를 완전한 수열로 만들고 싶다. ecode가 수열 AA를 완전한 수열로 바꾸기 위해 필요한 연산의 최소 횟수를 구해주자!

입력

첫 번째 줄에 수열의 길이 NN과 KK가 공백으로 구분되어 주어진다. (1≤N≤105;(1 \leq N \leq 10^5; 1≤K≤109)1 \leq K \leq 10^9)

두 번째 줄에 수열 AA의 원소를 나타내는 정수 A_1,A_2,⋯ ,A_NA\_{1}, A\_{2}, \cdots, A\_{N}가 공백으로 구분되어 주어진다. (1≤A_i≤109)(1 \leq A\_i \leq 10^9)

출력

수열 AA를 완전한 수열로 만들기 위한 연산의 최소 횟수를 출력한다.

예제3

  1. 예제 1

    입력
    5 7
    5 16 32 14 28
    
    예상 출력
    7
    
  2. 예제 2

    입력
    5 7
    1 2 3 2 1
    
    예상 출력
    0
    
  3. 예제 3

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