다이얼 룰렛

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

요약
원형 다이얼에 놓인 N개의 수를 K번 회전하면서 지나치는 수를 점수로 더할 때 얻을 수 있는 최댓값을 구한다.
난이도

보통10점 중 7점

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

문제

길이가 NN인 수열 AA의 원소들을 원형의 다이얼에 기준점의 오른쪽부터 차례대로 나열한 형태를 다이얼 룰렛이라고 하자. 건덕이는 다이얼을 회전해 점수를 얻을 수 있다. 다이얼을 시계 방향 또는 반시계 방향으로 한 칸 돌리는 것을 회전이라고 하며, 이때 기준점을 지나치는 수를 점수에 더한다.

건덕이가 다이얼 룰렛을 KK번 회전해 점수를 최대로 얻을 수 있도록 도와주자.

입력

첫째 줄에 수열 AA의 길이 NN과 회전 횟수 KK가 공백으로 구분되어 주어진다. (1≤N≤200,000;(1\leq N\leq 200,000; 1≤K≤109)1\leq K\leq 10^9)

둘째 줄에 수열 AA의 원소 A_iA\_i가 공백으로 구분되어 주어진다. (1≤A_i≤109)\left(1\leq A\_i\leq 10^9\right)

출력

건덕이가 다이얼 룰렛을 KK번 회전해 얻을 수 있는 점수의 최댓값을 출력한다.

힌트

초기 상태에서 시계 방향으로 11번 회전하면 A_NA\_N만큼의 점수를 얻는다.

예제2

  1. 예제 1

    입력
    5 4
    1 4 2 1 2
    
    예상 출력
    13
    
  2. 예제 2

    입력
    5 10
    999999991 999999959 999999985 999999960 999999957
    
    예상 출력
    9999999910