만드는 중입니다

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

탐색 게임

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

요약
숨겨진 X를 1부터 N 사이에서 찾는 질의 전략 중, 질의마다 X보다 작은 수의 개수를 받을 때 기대 점수가 가장 낮은 값을 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 누적 합
정답자
아직 제출이 없습니다

문제

KSA 학생 종현이는 가을 학교 축제에서 축제용 가상화폐 거래를 활성화하려고 탐색 게임을 만들었다. 탐색 게임은 게임을 시작할 때 미리 정해진 정수 XX (1≤X≤N1 \le X \le N)의 값을 적절한 질문으로 맞히는 게임이다. 매 질문마다 사용자는 서로 다른 NN 이하의 양의 정수를 KK개 이하로 골라 입력한다. 입력한 값 중에 XX가 있으면 게임이 종료된다. 그렇지 않으면 방금 입력한 정수 중 XX보다 작은 정수의 개수가 사용자에게 주어진다. 게임이 종료될 때까지 이 과정이 반복된다. 게임에서 nn번 질문했다면 최종 점수는 (K+1)n−1(K+1)^{n-1}점이다. 여러분은 게임에서 가상화폐를 벌어 종현이를 울리고 모든 간식과 기념품을 쓸어가려는 해커다. 탐색 게임을 수행하여 얻는 점수의 기댓값을 최소화하는 전략을 찾고, 그 기댓값을 출력하라. 단, 정답 값 XX는 사용자가 입력하기 전에 정해지며, XX가 ii일 확률은 PiP1+⋯+PN\frac{P_i}{P_1 + \cdots + P_N}이다.

입력

첫 번째 줄에 두 정수 NN, KK가 공백으로 구분되어 주어진다. 두 번째 줄에 NN개의 정수 P1,P2,⋯ ,PNP_1, P_2, \cdots, P_N이 공백으로 구분되어 주어진다.

출력

최적의 전략을 사용했을 때의 기댓값에 (P1+P2+⋯+PN)(P_1 + P_2 + \cdots + P_N)을 곱한 값을 출력한다.

제한

1≤N≤15001\leq N\leq 1500, 1≤K≤51\leq K \leq 5, 1≤Pi≤10001\leq P_i\leq 1000

예제4

  1. 예제 1

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

    입력
    5 2
    1 1 1 1 1
    
    예상 출력
    11
    
  3. 예제 3

    입력
    4 1
    4 3 2 10
    
    예상 출력
    39
    
  4. 예제 4

    입력
    4 1
    4 3 2 12
    
    예상 출력
    42