만드는 중입니다

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

신축성 고무줄

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

요약
x좌표와 y좌표가 모두 겹치지 않는 점들이 주어질 때, 가장 왼쪽, 오른쪽, 위, 아래 점을 차례로 제거하며 볼록 껍질의 넓이를 구합니다.
난이도

보통10점 중 7점

유형
기하, 연결 리스트, 시뮬레이션
정답자
아직 제출이 없습니다

문제

Mirko는 오래된 다락방에서 나무판 하나와 못 nn개를 찾았다. 그는 서둘러 못을 판에 박았다. 판을 좌표평면으로 보고, 박힌 못을 그 위의 점으로 본다. 두 못이 같은 xx 좌표를 갖거나 같은 yy 좌표를 갖는 경우는 없다.

새로 찾은 물건으로 놀고 싶었던 Mirko는 여동생의 머리 고무줄을 몰래 가져와 모든 못 둘레에 늘린 뒤 손을 놓았다. 고무줄은 바깥쪽 못에 감겨 조여들었다. 이후 Mirko는 판에 못이 2개보다 많이 남아 있는 동안 다음 과정을 반복한다.

  1. 고무줄이 둘러싼 도형의 넓이를 종이에 적는다.
  2. 가장 왼쪽, 가장 오른쪽, 가장 위, 가장 아래 못 중 하나를 고른다.
  3. 고른 못을 판에서 뺀다. 고무줄은 다시 바깥쪽 못에 감겨 조여든다.

각 단계에서 Mirko가 고른 못을 알고 있을 때, 종이에 적히는 수를 계산하는 프로그램을 작성하시오.

입력

첫째 줄에 자연수 nn (3≤n≤3000003 \le n \le 300000)이 주어진다. 다음 nn개의 줄에는 각 못의 좌표 xx와 yy를 나타내는 자연수 두 개가 주어진다. 모든 좌표는 10910^9보다 작다. 같은 xx 좌표나 같은 yy 좌표를 가진 못은 없다.

마지막 줄에는 길이가 n−2n-2인 문자열이 주어진다. 각 문자는 L, R, U, D 중 하나이며, 차례로 가장 왼쪽, 가장 오른쪽, 가장 위, 가장 아래 못을 골랐음을 뜻한다.

출력

Mirko가 차례로 적은 n−2n-2개의 넓이를 출력한다. 넓이는 소수점 아래 정확히 한 자리까지 출력해야 한다.

힌트

두 번째 입력의 설명:

그림은 6번의 과정 각각을 시작하기 직전의 상태를 나타낸다.

예제2

  1. 예제 1

    입력
    5
    1 4
    2 2
    4 1
    3 5
    5 3
    LUR
    
    예상 출력
    9.0
    6.5
    2.5
    
  2. 예제 2

    입력
    8
    1 6
    2 4
    3 1
    4 2
    5 7
    6 5
    7 9
    8 3
    URDLUU
    izlaz
    
    예상 출력
    34.0
    24.0
    16.5
    14.0
    9.5
    5.0