잔디밭에 두더지굴 n개가 원형으로 놓여 있고, 각 굴에는 1번부터 n번까지 차례로 번호가 매겨져 있다. 원형이므로 1번과 2번, 2번과 3번, …, n번과 1번 굴이 서로 인접하다.
지금 i번 굴에는 두더지가 ai마리 있다. 모형 권총으로 i번 굴을 쏘면 다음 일이 동시에 일어난다.
예를 들어 10번 굴을 쏘면, 10번 굴의 두더지는 모두 탈출하고 9번 굴의 두더지는 8번 굴로, 11번 굴의 두더지는 12번 굴로 이동한다.
권총을 최대 k번 쏠 수 있을 때, 굴 밖으로 탈출시킬 수 있는 두더지 수의 최댓값을 구하여라.
첫째 줄에 두더지굴의 수 n과 권총을 쏠 수 있는 최대 횟수 k가 주어진다. (5≤n≤2000, 1≤k≤n)
둘째 줄에 n개의 정수 a1,a2,…,an이 공백으로 구분되어 주어진다. ai는 i번 굴에 있는 두더지의 수이다. (0≤ai≤106)
권총을 최대 k번 사용했을 때 굴 밖으로 탈출시킬 수 있는 두더지 수의 최댓값을 한 줄에 출력한다.
굴의 상태가 [6,1,5,3,4]라고 하자. (왼쪽부터 차례로 1번 굴이다.)
먼저 1번 굴을 쏘면 그 굴의 두더지 6마리가 탈출한다. 이때 1번 굴의 이웃인 5번 굴(n번 굴)의 두더지는 4번 굴로, 2번 굴의 두더지는 3번 굴로 이동하여 상태는 [0,0,6,7,0]이 된다.
다음으로 4번 굴을 쏘면 그 굴에 모인 두더지 7마리가 탈출한다. 두 번의 사격으로 모두 6+7=13마리를 쫓아낼 수 있다.