카드 합체 놀이

카드 두 장을 골라 두 장 모두 두 수의 합으로 바꾸는 연산을 정확히 m번 해서 모든 카드 합의 최솟값을 구한다.

보통5그리디시뮬레이션구현면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

자연수가 적힌 카드 nn장이 있다. 처음에 ii번 카드에는 aia_i가 적혀 있다. 카드 합체는 다음 과정을 따른다.

  1. 서로 다른 두 카드 xx번 카드와 yy번 카드를 고르고 두 수의 합을 계산한다. (xyx \ne y)
  2. 계산한 값을 xx번 카드와 yy번 카드에 모두 덮어쓴다.

카드 합체를 총 mm번 수행한 뒤 nn장 카드에 적힌 수의 합이 점수가 된다. 점수가 가장 작아지도록 합체할 카드를 고를 때 만들 수 있는 가장 작은 점수를 구한다.

입력

첫 번째 줄에 카드의 개수 nn(2n10002 \le n \le 1000)과 합체 횟수 mm(0m15n0 \le m \le 15n)이 공백으로 구분되어 주어진다.

두 번째 줄에 처음 카드에 적힌 nn개의 자연수 a1,a2,,ana_1, a_2, \dots, a_n이 공백으로 구분되어 주어진다. (1ai10000001 \le a_i \le 1000000)

출력

첫 번째 줄에 만들 수 있는 가장 작은 점수를 출력한다.