만드는 중입니다

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

양궁 정확도

시간 제한7초메모리 제한1024 MB

요약
팀원마다 명중 확률과 라운드별 임계값이 주어질 때, 최종 점수가 양수일 확률을 가장 높이는 순서를 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 비트 연산, 확률
정답자
아직 제출이 없습니다

문제

당신은 대회에 출전하는 양궁 팀의 감독이다. 팀원마다 표적을 맞힐 고정된 확률이 있다.

대회는 여러 라운드로 진행된다. 팀원 수는 라운드 수와 같다. 매 라운드마다 팀원 한 명이 출전하며, 모든 팀원은 정확히 한 라운드에만 출전한다. 감독인 당신이 팀원의 출전 순서를 정할 수 있다. 순서는 첫 라운드가 시작되기 전에 심판에게 제출해야 한다.

대회에는 적중 횟수에서 실수 횟수를 뺀 값을 보여 주는 점수판이 있다. 점수판은 대회 시작 시 0이며 누적된다. 라운드가 바뀌어도 초기화되지 않는다. 적중하면 점수가 1 증가하고, 실수하면 1 감소한다. 점수판의 값은 0보다 작아질 수 있다.

대회 주최 측은 라운드마다 하나씩, 엄격히 증가하는 양의 기준값 목록을 정해 두었다. 각 라운드에서 선택된 팀원은 점수판의 절댓값이 기준값과 같아질 때까지 표적을 반복해서 쏜다. 점수판은 라운드가 바뀌어도 초기화되지 않는다는 점을 기억하라.

기준값과 모든 팀원의 실력을 알고 있을 때, 대회가 끝났을 때 점수판 값이 양수로 끝날 확률의 최댓값을 구하라.

입력

첫 줄에 정수 nn (2≤n≤172 \le n \le 17)이 주어진다. 이는 팀원 수이자 대회의 라운드 수이다.

다음 nn개 줄에 실수 pp (0.0<p<1.00.0 < p < 1.0)가 한 개씩 주어진다. 이는 해당 팀원이 표적을 맞힐 확률이다. 확률은 소수점 아래 최대 두 자리까지 주어진다.

그다음 nn개 줄에 정수 ss (1≤s≤1001 \le s \le 100)가 한 개씩 주어진다. 이는 해당 라운드의 기준 점수이다. 값은 엄격히 증가한다.

출력

실수 하나를 출력한다. 대회가 끝났을 때 점수판 값이 양수로 끝날 확률의 최댓값이다. 답은 절대 오차 또는 상대 오차가 10−610^{-6} 이내여야 한다.

예제1

  1. 예제 1

    입력
    4
    0.7
    0.6
    0.4
    0.3
    2
    4
    6
    8
    
    예상 출력
    0.9277221