만족도 점수

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

요약
8명의 실력 점수를 두 경기로 나누고 각 경기의 네 명을 다시 두 팀으로 묶어 멤버별 만족도 최소값의 최댓값을 구한다.
난이도

보통10점 중 6점

유형
완전 탐색, 구현, 정렬
정답자
아직 제출이 없습니다

문제

테니스 동호회 회장은 매주 참가 회원들이 만족할 만하도록 2대 2 복식 조를 짜야 한다. 각 회원은 참여한 게임이 대등하게 펼쳐질수록 만족도가 높다. 참가 회원의 실력 점수가 0 이상 10 이하의 정수로 주어진다고 가정할 때, 한 경기에 참여한 회원의 만족도 점수는 다음과 같다.

1 - ( |상대 팀의 실력 점수 평균 - 본인 팀의 실력 점수 평균| / 10)

이 점수는 최악의 경우 0, 최상의 경우 1점을 범위로 갖는다.

회장의 목표는 너무 불만족해 탈퇴하는 회원이 없도록 하는 것이다. 이를 위해 모든 회원이 최소 1번은 참가하게 하고, 만족도 점수의 하한을 극대화하고 싶다.

2개의 테니스 코트를 쓸 수 있고, 각 코트에서 한 게임씩만 할 수 있으며 8명의 회원이 참여한다고 하자. 목표에 맞게 조를 짰을 때, 만족도 점수의 하한을 구하는 프로그램을 작성하라.

입력

8명 회원의 실력 점수가 입력으로 주어진다. 점수는 공백으로 구분되어져 있다.

출력

첫째 줄에 만족도 점수의 하한을 출력한다.

정답이 정수 또는 소수점 한 자리의 실수로 표현할 수 있는 경우 소수점 첫째 자리까지, 두 자리의 실수로 표현할 수 있는 경우 소수점 둘째 자리까지 출력한다.

예제2

  1. 예제 1

    입력
    3 8 3 7 1 4 2 2
    
    예상 출력
    1.0
    
  2. 예제 2

    입력
    1 0 9 1 0 1 2 1
    
    예상 출력
    0.7