만드는 중입니다

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

도미노

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

요약
왼쪽으로 넘어지는 n개의 도미노에서 각 도미노를 처음 넘어뜨릴 때 쓰러지는 사분원들의 합집합 넓이를 구합니다.
난이도

어려움10점 중 8점

유형
스택, 동적 계획법, 기하
정답자
아직 제출이 없습니다

문제

Pixar는 2023년 칸 영화제에서 신작 애니메이션 Elemental을 공개할 예정이다. 그런데 장면 하나를 다시 렌더링해야 한다. 이 장면에는 일직선으로 놓인 도미노 nn개가 있고, 그중 하나가 쓰러지면 뒤의 도미노들이 연쇄적으로 쓰러진다. 영화제까지 한 달이 채 남지 않았으므로, Pixar는 시작 도미노를 고를 때마다 장면을 다시 렌더링하는 비용을 계산하는 프로그램을 요청했다.

계산을 단순하게 하기 위해 도미노를 좌표축 위의 폭이 없는 선분으로 본다. 도미노는 왼쪽으로 쓰러진다. 도미노는 왼쪽에서 오른쪽으로 번호가 매겨져 있으며, 도미노 ii의 높이는 lil_i이고 위치는 xix_i이다. 렌더링 비용은 움직이는 부분의 넓이, 즉 쓰러지는 도미노들이 그리는 사분원의 합집합 넓이이다. 쓰러지는 영역끼리 겹칠 수 있으며, 겹치는 부분은 한 번만 계산한다. 그림은 5번 도미노를 시작 도미노로 골랐을 때 쓰러지는 모습을 보여 준다.

입력

첫 줄에 양의 정수 nn이 주어진다. 다음 nn개의 줄에는 각각 정수 xix_i와 lil_i가 주어진다. 도미노는 왼쪽에서 오른쪽 순서로 주어지며, 즉 xi<xi+1x_i < x_{i+1}이다. 제약 조건은 n≤200000n \le 200000, 1≤xi,li≤1091 \le x_i, l_i \le 10^9이다.

출력

nn개의 줄을 출력한다. ii번째 줄에는 ii번 도미노를 시작 도미노로 골랐을 때의 렌더링 비용을 출력한다. 모든 수는 절대 오차 또는 상대 오차가 10−610^{-6} 이하여야 한다.

예제1

  1. 예제 1

    입력
    7
    2 2
    5 3
    9 5
    12 1
    13 5
    14 2
    16 3
    
    예상 출력
    3.141592654
    7.068583471
    24.659773696
    0.785398163
    42.250963921
    44.164186876
    49.714124052