만드는 중입니다

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

배틀 로얄

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

요약
각 플레이어의 집 위치 x_i와 생존 시간 a_i가 주어질 때, 최종 안전지대의 점 M이 [L, R]에서 균등하게 정해진다고 하면 각 플레이어가 마지막까지 살아남을 확률을 구합니다.
난이도

어려움10점 중 8점

유형
확률, 수학, 이분 탐색, 누적 합
정답자
아직 제출이 없습니다

문제

배틀 로얄 게임을 해 본 적이 있나요? 이런 게임에서 플레이어는 넓고 빈 공간에 혼자 놓입니다. 무기, 탄약, 구급약, 방어구를 모아서 서로를 죽여야 합니다. 플레이어가 한 명만 남으면 게임이 끝나고, 그 플레이어가 우승자로 선언됩니다.

플레이어끼리 싸우도록 안전 구역이 도입됩니다. 안전 구역 밖에 있는 플레이어는 피해를 입습니다. 안전 구역은 한 점이 될 때까지 계속 줄어들기 때문에, 플레이어는 조만간 선택해야 합니다. 안전 구역에 들어가 다른 플레이어와 싸우거나, 밖에 머물러 체력을 잃고 결국 죽거나 둘 중 하나입니다.

일차원 세계에는 BattleUnknown's Playergrounds라는 유명한 배틀 로얄 게임이 있습니다. 게임 구역은 구간 [L,R][L, R]입니다. 처음에 안전 구역은 구간 [L,R][L, R] 전체입니다. 게임이 끝날 때 안전 구역은 한 점 MM (L≤M≤RL \le M \le R)으로 줄어듭니다. 이때 MM은 [L,R][L, R] 위에서 같은 확률로 정해집니다. 안전 구역은 (M−L)/(R−M)(M-L)/(R-M)이 상수가 되도록 줄어들며, 길이는 매초 1씩 줄어듭니다.

오늘 극도로 수동적인 플레이어 nn명이 경기를 합니다. ii번째 플레이어는 좌표 xix_i에 있는 집에 숨어 있고, 움직이지 않습니다. 이들은 집을 떠나느니 안전 구역 밖에서 죽는 편이 낫다고 생각합니다. 이들의 계획은 모은 구급약으로 다른 모든 플레이어보다 오래 버티는 것입니다. ii번째 플레이어는 안전 구역 밖에서 aia_i초 동안 살아 있을 수 있습니다.

각 플레이어가 이 게임에서 우승할 확률을 구하세요.

입력

첫 줄에 정수 nn, LL, RR이 주어집니다. 각각 플레이어 수와 게임 구간의 양 끝점입니다 (1≤n≤1051 \le n \le 10^5, −106≤L<R≤106-10^6 \le L < R \le 10^6).

다음 줄에는 집의 좌표 xix_i 정수 nn개가 주어집니다. 모든 xix_i는 L<xi<RL < x_i < R을 만족합니다. 서로 다르며 오름차순으로 정렬되어 있습니다.

다음 줄에는 ii번째 플레이어가 안전 구역 밖에서 살아 있을 수 있는 시간 aia_i 정수 nn개가 주어집니다 (0≤ai≤1060 \le a_i \le 10^6).

출력

nn개의 줄을 출력합니다. ii번째 줄에는 ii번째 플레이어가 우승할 확률을 출력합니다. 각 수의 절대 오차는 10−910^{-9}를 넘지 않아야 합니다.

예제3

  1. 예제 1

    입력
    2 -5 5
    -1 1
    3 5
    
    예상 출력
    0.438447187191170
    0.561552812808830
    
  2. 예제 2

    입력
    2 0 10
    5 7
    5 2
    
    예상 출력
    1.000000000000000
    0.000000000000000
    
  3. 예제 3

    입력
    3 0 10
    3 4 7
    3 4 8
    
    예상 출력
    0.109584240176570
    0.121686455414586
    0.768729304408844