모든 비율 P_i/j를 큰 값부터 순위를 매기고, 각 참가자마다 순위 N 이내에 드는 비율의 개수를 센다. 마지막 순위에 동점이 있으면 그 비율도 모두 포함한다.
어려움8이분 탐색정렬수학그리디아직 제출이 없습니다시간 제한6초메모리 제한512 MB어떤 대회에 참가자가 M명 있다. i번 참가자의 점수는 Pi점이다.
주최 측은 풍선 N개를 다음 규칙으로 나눠 준다.
각 참가자가 받는 풍선의 개수를 구하여라.
예를 들어 참가자가 M=5명이고 점수가 P1=274771, P2=344854, P3=773780, P4=627629, P5=386890이며 풍선이 N=10개라고 하자. 비율을 소수점 아래 둘째 자리까지 반올림해 적으면 앞부분은 다음과 같다.
| j = 1 | j = 2 | j = 3 | j = 4 | j = 5 | ... | |
|---|---|---|---|---|---|---|
| #1 | 274771.00 | 137385.50 | 91590.33 | 68692.75 | 54954.20 | ... |
| #2 | 344854.00 | 172427.00 | 114951.33 | 86213.50 | 68970.80 | ... |
| #3 | 773780.00 | 386890.00 | 257926.67 | 193445.00 | 154756.00 | ... |
| #4 | 627629.00 | 313814.50 | 209209.67 | 156907.25 | 125525.80 | ... |
| #5 | 386890.00 | 193445.00 | 128963.33 | 96722.50 | 77378.00 | ... |
각 비율의 순위는 다음과 같다. 굵게 쓴 순위는 N=10 이하여서 그 비율이 풍선을 받는다. 이 예에서 j≥6인 비율은 순위가 모두 10보다 크다.
| j = 1 | j = 2 | j = 3 | j = 4 | j = 5 | ... | |
|---|---|---|---|---|---|---|
| #1 | 7 | 15 | 24 | 34 | 43 | ... |
| #2 | 5 | 12 | 19 | 26 | 33 | ... |
| #3 | 1 | 3 | 8 | 10 | 14 | ... |
| #4 | 2 | 6 | 9 | 13 | 18 | ... |
| #5 | 3 | 10 | 16 | 22 | 29 | ... |
그래서 다섯 참가자가 받는 풍선은 차례대로 1개, 1개, 4개, 3개, 2개이다. 모두 합치면 11개인데, 773780/4와 386890/2가 둘 다 193445로 같아 순위 10에 함께 묶이기 때문이다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 두 줄로 이루어진다. 첫째 줄에 정수 M과 N이 공백으로 구분되어 주어진다. 둘째 줄에 M개의 정수 P1,P2,…,PM이 공백으로 구분되어 주어진다.
제한:
각 테스트 케이스마다 한 줄에 M개의 정수를 공백 하나로 구분해 출력한다. i번째 정수는 i번 참가자가 받는 풍선의 개수이다.