다양성이 힘이다

NYPC 2021 · 예선

좌우로 늘어서 있는 NN 명의 사람들 중 연속인 KK 명을 골라 팀을 구성하려고 한다. 왼쪽에서 ii 번째 사람은 특성값 XiX_i를 가지고 있다. 팀을 구성했을 때 팀의 실력은 팀 구성원들의 특성값들이 얼마나 다양하고 넓게 분포하느냐에 따라 결정된다. 정확히는, 팀에 구성된 임의의 두 사람에 대해서 특성값 XiX_iXjX_j의 차이 XiXj|X_i-X_j|를 모두 더한 값이 팀의 실력이다.

사람들의 특성값을 입력으로 받아 가장 큰 실력의 값을 계산하는 프로그램을 작성하라.

입력 형식

첫 줄에 NNKK가 주어진다. (1KN2000001 \leq K \leq N \leq 200\,000)

둘째 줄에 왼쪽 사람부터 순서대로 특성값이 공백으로 구분되어 주어진다. (1Xi10000001 \leq X_i \leq 1\,000\,000)

출력 형식

첫 줄에 가능한 최대의 실력 값을 출력한다.

예제

입력

5 3 3 6 8 7 4

출력

10

예제 설명

N=5N=5, K=3K=3이므로 팀을 고르는 방법은 33 가지가 있다. 제일 왼쪽부터 33명을 고르는 경우 실력은 1010, 중간 33명을 고르는 경우 실력은 44, 제일 오른쪽 33명을 고르는 경우 실력은 88이다. 따라서, 이 경우 답은 1010이다.

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞추어야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 8

K10K \leq 10

종류 2: 21

Xi10X_i \leq 10

종류 3: 17

N5000N \leq 5\,000

종류 4: 54

추가적인 제한 조건이 없음.

해설