만드는 중입니다

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

연금 분배

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

요약
연금을 받는 시민 중 시작 나이 분포 q와 나이별 시민 비율 r을 바탕으로 티켓 분포 p를 구합니다.
난이도

보통10점 중 5점

유형
수학, 확률
정답자
아직 제출이 없습니다

문제

한 나라의 시민들은 태어날 때 각자 연금 티켓 한 장을 받는다. 연금 티켓에는 연금을 받기 시작하는 나이를 뜻하는 11 이상 NN 이하의 정수가 적혀 있다. 티켓에 적힌 정수는 티켓마다 같은 확률 분포를 따르며, 정수 ii가 적힐 확률은 p_ip\_i이다. 각 티켓에 적힌 정수는 서로 독립이다.

11살 이상 NN살 이하의 연금을 받는 시민 중 한 명을 뽑았을 때, 그 사람이 ii살에 연금을 받기 시작했을 확률은 q_iq\_i이다.

11살 이상 NN살 이하의 시민 중 나이가 ii살인 사람의 비율은 r_ir\_i이다.

q_iq\_i와 r_ir\_i를 바탕으로 p_ip\_i를 구하자. 이 나라는 인구가 많아 큰 수의 법칙을 따른다.

입력

첫 줄에 정수 NN이 주어진다. (1≤N≤5001 \leq N \leq 500)

둘째 줄에는 소수점 여섯 자리로 표기된 실수 q_1,q_2,⋯ ,q_Nq\_1, q\_2, \cdots, q\_N이 공백으로 구분되어 주어진다. (q_1+q_2+⋯+q_N=1q\_1+q\_2+\cdots+q\_N=1, 0≤q_i≤10 \leq q\_i \leq 1)

셋째 줄에는 소수점 여섯 자리로 표기된 실수 r_1,r_2,⋯ ,r_Nr\_1, r\_2, \cdots, r\_N이 공백으로 구분되어 주어진다. r_ir\_i는 0이 아님이 보장된다. (r_1+r_2+⋯+r_N=1r\_1+r\_2+\cdots+r\_N=1, 0<r_i≤10 < r\_i \leq 1)

출력

p_1,p_2,⋯ ,p_Np\_1, p\_2, \cdots, p\_N을 공백으로 구분하여 출력한다. 각 p_ip\_i는 실제 답과의 절대 오차 또는 상대 오차가 10−610^{-6} 이내이면 정답으로 인정한다.

예제2

  1. 예제 1

    입력
    3
    0.100000 0.400000 0.500000
    0.300000 0.300000 0.400000
    
    예상 출력
    0.0520446096654 0.2973977695167 0.6505576208178
    
  2. 예제 2

    입력
    1
    1.000000
    1.000000
    
    예상 출력
    1.0000000000000