만드는 중입니다

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

절사평균과 보정평균

면접 대비

시간 제한1초메모리 제한256 MB

요약
심사위원 점수 N개와 정수 K가 주어질 때, 점수를 정렬한 뒤 양 끝에서 K개를 버린 절사평균과 그 K개를 인접한 값으로 대체한 보정평균을 각각 소수 둘째 자리까지 반올림해 출력한다.
난이도

쉬움10점 중 3점

유형
정렬, 누적 합, 수학, 구현
정답자
아직 제출이 없습니다

문제

체조나 다이빙 같은 경기에서는 일부 심판이 자신이 좋아하는 선수에게는 지나치게 높은 점수를, 싫어하는 선수에게는 지나치게 낮은 점수를 주는 일이 종종 있다. 이런 점수까지 모두 포함하여 단순 평균을 내면 결과가 불공정해질 수 있다. 이를 막기 위해 절사평균과 보정평균을 사용한다.

예를 들어 심판 일곱 명이 다음과 같은 점수를 주었다고 하자.

9.3, 9.5, 9.6, 9.8, 9.1, 5.0, 9.3

이 점수들의 합은 61.6이므로 단순 평균은 8.8이다. 그러나 이 값은 한 심판이 유독 낮은 5.0을 준 탓에 크게 낮아진 것으로, 선수는 매우 불공정하다고 느낄 것이다.

위 점수를 작은 값부터 큰 값 순으로 정렬하면 다음과 같다.

5.0, 9.1, 9.3, 9.3, 9.5, 9.6, 9.8

  • 절사평균(N, K): 정렬된 NN개의 점수에서 양쪽 끝의 점수를 각각 KK개씩 버리고, 남은 N−2KN - 2K개의 평균을 구한다. 위 예에서 절사평균(7, 2)는 양 끝에서 두 개씩 제외한 9.3, 9.3, 9.5의 평균이므로 9.37이다.
  • 보정평균(N, K): 정렬된 점수에서 양쪽 끝의 KK개를 버리는 대신 남은 값 중 가장 가까운 값으로 바꾼다. 즉 가장 작은 쪽 KK개는 K+1K+1번째로 작은 점수로, 가장 큰 쪽 KK개는 K+1K+1번째로 큰 점수로 대체한 뒤, 이렇게 얻은 NN개 전체의 평균을 구한다. 위 예에서 보정평균(7, 2)는 9.3, 9.3, 9.3, 9.3, 9.5, 9.5, 9.5의 평균이므로 9.39이다.

NN개의 점수와 양쪽 끝에서 제외(또는 대체)하는 개수 KK가 주어질 때, 절사평균(N, K)와 보정평균(N, K)를 계산하는 프로그램을 작성하시오.

입력

첫째 줄에 점수의 총 개수 NN과 양쪽 끝에서 제외하는 개수 KK가 공백을 사이에 두고 주어진다. NN은 3 이상 100,000 이하의 자연수이고, KK는 0 이상 (N/2)−1(N/2) - 1 이하의 정수이다.

이어지는 NN개의 줄에는 각 심판이 준 점수가 한 줄에 하나씩 주어진다. 각 점수는 0.0 이상 10.0 이하의 실수이며 소수점 첫째 자리까지 주어진다.

출력

첫째 줄에 절사평균(N, K)를, 둘째 줄에 보정평균(N, K)를 출력한다. 두 값 모두 소수점 셋째 자리에서 반올림하여 둘째 자리까지 나타낸다.

예를 들어 결과가 9.667이면 9.67로, 5이면 5.00으로, 5.5이면 5.50으로 출력한다.

예제1

  1. 예제 1

    입력
    7 2
    9.3
    9.5
    9.6
    9.8
    9.1
    5.0
    9.3
    
    예상 출력
    9.37
    9.39