만드는 중입니다

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

다이얼 룰렛

면접 대비

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

요약
원형 수열 A가 주어질 때, 다이얼을 K번 회전하며 기준점을 지나는 수의 합이 최대가 되는 값을 구합니다.
난이도

보통10점 중 6점

유형
배열, 슬라이딩 윈도우, 그리디
정답자
아직 제출이 없습니다

문제

길이가 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의 원소 AiA_i가 공백으로 구분되어 주어진다. (1≤Ai≤109)\left(1\leq A_i\leq 10^9\right)

출력

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

힌트

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

예제2

  1. 예제 1

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

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