원형 발판 위에 최대 k개의 1m 블록을 쌓아 오르내림 높이 합의 감소량을 최대로 합니다.
어려움8그리디힙유니온 파인드아직 제출이 없습니다시간 제한2초메모리 제한64 MB알마티 근교에 출발점과 도착점이 같은 순환형 산악 자전거 트레킹 코스를 만들었다. 코스는 폭이 모두 같은 n개의 계단으로 나타낸다. i번째 계단은 수평이고 해발 ai미터에 있다. 이웃한 두 계단의 높이는 같아도 된다. 코스의 난이도는 한 바퀴를 도는 동안 오르내린 높이의 합이다.
난이도=∣a1−a2∣+∣a2−a3∣+⋯+∣an−1−an∣+∣an−a1∣
처음 만든 코스는 관광객에게 너무 어려웠다. 난이도를 낮추려고 블록 k개를 쓸 수 있다. 블록의 폭은 계단의 폭과 같고 높이는 1미터이다. 블록은 계단 위에 놓을 수도 있고 다른 블록 위에 놓을 수도 있으며, 전부 쓰지 않아도 된다.
난이도를 줄일 수 있는 최댓값을 구하시오.
첫째 줄에 계단의 개수 n과 블록의 개수 k가 주어진다. (2≤n≤106, 1≤k≤109)
둘째 줄에 각 계단의 높이 a1,a2,…,an이 주어진다. (0≤ai≤109)
난이도를 줄일 수 있는 최댓값을 한 줄에 출력한다.
첫 번째 예제에서 코스의 난이도는 6이다. 높이 1인 내리막이 세 번 있고, 마지막 계단에서 첫 계단으로 돌아오는 높이 3인 오르막이 한 번 있다. 세 번째 계단에 블록 한 개를 놓고 마지막 계단에 블록 두 개를 놓으면 난이도가 4만큼 줄어든다. 블록 다섯 개를 모두 놓아도 답은 같고, 이보다 더 줄일 수는 없다.