아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

예 또는 아니오?

면접 대비

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

요약
각 문제를 Yes로 답할 확률 y_i가 주어질 때, Yes의 개수가 l개 이상 r개 이하가 되도록 답을 정해 기대 정답 수의 최댓값을 구하고 소수 둘째 자리까지 출력한다.
난이도

보통10점 중 5점

유형
동적 계획법, 정렬, 그리디, 확률
정답자
아직 제출이 없습니다

문제

객관식 시험은 채점하기 쉬워서 일부 교사들에게 인기가 많습니다. 그중에서도 가장 단순한 형태가 참/거짓, 즉 예/아니오 문제입니다.

당신은 예/아니오 시험을 보고 있습니다. 각 문제마다 두 답 중 어느 쪽이 정답일지에 대한 사전 확률 추정치를 가지고 있습니다. 문제 ii의 답이 “예”일 확률을 yiy_i, “아니오”일 확률을 1−yi1 - y_i라고 추정합니다.

만약 문제들이 서로 독립이라면 각 문제에서 yiy_i와 1−yi1 - y_i 중 더 큰 쪽을 고르면 됩니다. 하지만 이 교사는 정답이 한쪽으로 치우치는 것을 싫어해서, “예”인 정답의 개수가 항상 ℓ\ell개 이상 rr개 이하(ℓ≤r\ell \le r)가 되도록 맞춘다는 사실을 당신은 알고 있습니다.

따라서 “예”라고 답하는 문제의 개수를 ℓ\ell개 이상 rr개 이하로 유지하면서, 맞히는 문제 수의 기댓값을 최대로 만드는 답안을 정해야 합니다. 이때 얻을 수 있는 정답 개수의 기댓값의 최댓값을 구하세요.

입력

첫째 줄에 데이터 집합의 개수 K≥1K \ge 1이 주어집니다. 이어서 KK개의 데이터 집합이 다음 형식으로 주어집니다.

각 데이터 집합의 첫째 줄에는 세 정수 ℓ≤r≤n\ell \le r \le n이 주어집니다. 여기서 n≤200n \le 200은 시험 문제의 총 개수, ℓ\ell은 “예”로 답할 문제의 최소 개수, rr은 최대 개수입니다.

그다음 nn개의 줄에 각 문제 ii에 대한 소수 yi∈[0,1]y_i \in [0, 1]이 한 줄에 하나씩 주어집니다.

출력

각 데이터 집합마다 먼저 Data Set x:를 한 줄에 출력합니다. 여기서 xx는 데이터 집합의 번호입니다. 그다음 줄에 모든 제약을 만족하면서 맞힐 수 있는 문제 수의 기댓값의 최댓값을 소수점 아래 둘째 자리까지 반올림하여 출력합니다.

예제2

  1. 예제 1

    입력
    1
    2 4 5
    0.2
    0.4
    0.35
    0.8
    0.4
    
    예상 출력
    Data Set 1:
    3.25
    
  2. 예제 2

    입력
    2
    2 4 5
    0.2
    0.4
    0.35
    0.8
    0.4
    1 1 1
    0.9
    
    예상 출력
    Data Set 1:
    3.25
    Data Set 2:
    0.90