만드는 중입니다

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

안전한 득표율 (작은 입력)

시간 제한5초메모리 제한512 MB

요약
각 참가자가 표가 어떻게 나뉘어도 단독 최하위가 되지 않는 최소 관객 투표율을 구합니다.
난이도

보통10점 중 6점

유형
이분 탐색, 수학
정답자
아직 제출이 없습니다

문제

리얼리티 TV 쇼에 참가자 NN명이 있다. 심사위원은 참가자 ii에게 정수 점수 sis_i를 준다. 이어서 관객이 표를 나누는데, 참가자 ii는 관객 표의 비율 yiy_i를 받는다. 모든 yiy_i는 0 이상 1 이하이고 y0+y1+⋯+yN−1=1y_0 + y_1 + \dots + y_{N-1} = 1이다.

X=s0+s1+⋯+sN−1X = s_0 + s_1 + \dots + s_{N-1}이라고 하자. 참가자 ii의 최종 점수는 si+Xyis_i + X y_i다.

최종 점수가 가장 낮은 참가자가 탈락한다. 최종 점수의 최솟값을 두 명 이상이 함께 가지면 아무도 탈락하지 않는다.

어떤 yiy_i에 대해, 남은 관객 표 1−yi1 - y_i를 다른 참가자에게 어떻게 나누어도 참가자 ii가 탈락하지 않으면 참가자 ii는 안전하다. 참가자마다 안전해지는 가장 작은 yiy_i를 백분율로 구하라.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. 이어지는 TT개의 줄에 테스트 케이스가 한 줄씩 주어진다. 각 줄에는 참가자 수 NN과 정수 s0,s1,…,sN−1s_0, s_1, \dots, s_{N-1}이 공백 하나로 구분되어 주어진다. sis_i는 심사위원이 참가자 ii에게 준 점수다.

제한

  • 1≤T≤201 \le T \le 20
  • 2≤N≤102 \le N \le 10
  • 0≤si≤1000 \le s_i \le 100
  • 적어도 하나의 ii에서 si>0s_i > 0이므로 X>0X > 0이다.

출력

각 테스트 케이스마다 한 줄에 Case #x: 를 출력하고, 이어서 수 m0,m1,…,mN−1m_0, m_1, \dots, m_{N-1}을 공백 하나로 구분해 출력한다. xx는 1부터 시작하는 케이스 번호이고, mim_i는 참가자 ii가 안전해지는 관객 표의 최소 백분율이다.

mim_i는 소수점 아래 여섯 자리로 반올림해 출력하고, 정확히 절반인 값은 올린다. 모든 mim_i는 유리수이며 반올림 경계에 정확히 걸리는 답은 어떤 테스트 케이스에도 없다. 답을 제대로 계산했다면 흔히 쓰는 고정 소수점 출력이 그대로 일치한다.

예제1

  1. 예제 1

    입력
    4
    2 20 10
    2 10 0
    4 25 25 25 25
    3 24 30 21
    
    예상 출력
    Case #1: 33.333333 66.666667
    Case #2: 0.000000 100.000000
    Case #3: 25.000000 25.000000 25.000000 25.000000
    Case #4: 34.666667 26.666667 38.666667