예 또는 아니오?
면접 대비시간 제한1초메모리 제한128 MB
각 문제를 Yes로 답할 확률 y_i가 주어질 때, Yes의 개수가 l개 이상 r개 이하가 되도록 답을 정해 기대 정답 수의 최댓값을 구하고 소수 둘째 자리까지 출력한다.
문제
객관식 시험은 채점하기 쉬워서 일부 교사들에게 인기가 많습니다. 그중에서도 가장 단순한 형태가 참/거짓, 즉 예/아니오 문제입니다.
당신은 예/아니오 시험을 보고 있습니다. 각 문제마다 두 답 중 어느 쪽이 정답일지에 대한 사전 확률 추정치를 가지고 있습니다. 문제 의 답이 “예”일 확률을 , “아니오”일 확률을 라고 추정합니다.
만약 문제들이 서로 독립이라면 각 문제에서 와 중 더 큰 쪽을 고르면 됩니다. 하지만 이 교사는 정답이 한쪽으로 치우치는 것을 싫어해서, “예”인 정답의 개수가 항상 개 이상 개 이하()가 되도록 맞춘다는 사실을 당신은 알고 있습니다.
따라서 “예”라고 답하는 문제의 개수를 개 이상 개 이하로 유지하면서, 맞히는 문제 수의 기댓값을 최대로 만드는 답안을 정해야 합니다. 이때 얻을 수 있는 정답 개수의 기댓값의 최댓값을 구하세요.
입력
첫째 줄에 데이터 집합의 개수 이 주어집니다. 이어서 개의 데이터 집합이 다음 형식으로 주어집니다.
각 데이터 집합의 첫째 줄에는 세 정수 이 주어집니다. 여기서 은 시험 문제의 총 개수, 은 “예”로 답할 문제의 최소 개수, 은 최대 개수입니다.
그다음 개의 줄에 각 문제 에 대한 소수 이 한 줄에 하나씩 주어집니다.
출력
각 데이터 집합마다 먼저 Data Set x:를 한 줄에 출력합니다. 여기서 는 데이터 집합의 번호입니다. 그다음 줄에 모든 제약을 만족하면서 맞힐 수 있는 문제 수의 기댓값의 최댓값을 소수점 아래 둘째 자리까지 반올림하여 출력합니다.