만드는 중입니다

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

이미지 레이블러

면접 대비

메모리 제한1024 MB

요약
N개 지역을 M개의 비지 않은 범주로 나눠 범주별 중앙값의 합이 최대가 되는 값을 구합니다.
난이도

보통10점 중 5점

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

문제

Crowdsource는 N\mathbf{N}개 지역의 참가자를 대상으로 Image Labeler 과제 캠페인을 진행한다. 지역 ii의 참가자 수는 A_i\mathbf{A\_i}명이다. 과제에는 M\mathbf{M}개의 범주가 있다. Crowdsource는 한 지역의 참가자를 모두 같은 범주에 배정하며, 모든 범주에는 최소 한 개의 지역이 배정되어야 한다.

성과 지표는 각 범주에 속한 참가자 수 중앙값의 총합이다. 정수 목록의 중앙값은 오름차순으로 정렬했을 때 가운데에 놓인 값이다. 원소 개수가 짝수이면 가운데 두 값의 평균이 중앙값이다.

예를 들어 N=3\mathbf{N}=3, A_1=5A\_1=5, A_2=8A\_2=8, A_3=9A\_3=9, M=2\mathbf{M}=2인 경우를 보자. 지역 2와 3을 범주 1에, 지역 1을 범주 2에 배정하면 {8,9}\{8, 9\}의 중앙값과 {5}\{5\}의 중앙값을 더해 8+92+5=13.5\frac{8+9}{2} + 5 = 13.5가 된다. 지역 1과 2를 범주 1에, 지역 3을 범주 2에 배정하면 5+82+9=15.5\frac{5+8}{2} + 9 = 15.5가 된다.

성과 지표의 최댓값을 구하라.

입력

첫 줄에 테스트 케이스의 수 T\mathbf{T}가 주어진다. 각 테스트 케이스의 첫 줄에는 지역의 수 N\mathbf{N}과 범주의 수 M\mathbf{M}이 주어진다. 다음 줄에는 A_1,A_2,…,A_N\mathbf{A\_1}, \mathbf{A\_2}, \dots, \mathbf{A\_N}이 주어진다.

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄을 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 성과 지표의 최댓값이다. 절대 오차 또는 상대 오차가 10−610^{-6} 이내이면 정답으로 인정한다.

제한

  • 1≤T≤1001 \le \mathbf{T} \le 100.
  • 1≤N≤1041 \le \mathbf{N} \le 10^4.
  • 1≤M≤1041 \le \mathbf{M} \le 10^4.
  • 1≤M≤N1 \le \mathbf{M} \le \mathbf{N}.
  • 모든 ii에 대해 1≤A_i≤1051 \le \mathbf{A\_i} \le 10^5.

예제2

  1. 예제 1

    입력
    1
    3 2
    11 24 10
    
    예상 출력
    Case #1: 34.5
    
  2. 예제 2

    입력
    1
    5 1
    6 2 5 1 9
    
    예상 출력
    Case #1: 5.0