만드는 중입니다

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

레이저로 자르기

면접 대비

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

요약
축에 평행한 레이저 절단선으로 이루어진 닫힌 경로가 주어질 때, 가장자리에 닿지 않는 조각 중 가장 큰 면적을 구합니다.
난이도

보통10점 중 5점

유형
BFS, 행렬, 구현
정답자
아직 제출이 없습니다

문제

나무 판을 자르는 레이저 절단기가 있다. 레이저 헤드는 수평과 수직, 두 방향으로만 움직일 수 있다. 당신은 이 기계의 시험 팀에 배정되었다.

시험 중 하나는 같은 점에서 시작해서 같은 점에서 끝나는, 비어 있지 않은 연속 절단 순서를 기계에 프로그래밍하는 것이다. 첫 번째 절단을 제외한 각 절단은 이전 절단이 끝난 점에서 시작한다. 어떤 절단도 판의 가장자리에 닿지 않는다. 아래 그림 (a)와 (b)는 각각 8번과 14번 절단으로 이루어진 절단 순서의 예시이다.

상사는 절단 순서로 생기는 조각 중 가장 큰 조각의 넓이를 구해 달라고 요청했다. 단, 판의 가장자리에 붙어 있는 조각은 제외한다. 즉 절단선으로 만들어지는 다각형 안에 포함된 조각만 센다. 그림 (c)와 (d)는 그림 (a)와 (b)의 절단으로 생기는 가장 큰 조각을 보여준다.

참고로 그림 (e)와 (f)는 그림 (a)와 (b)의 절단 순서에서 버려지는 조각, 즉 나무 판의 가장자리를 포함하는 조각을 보여준다.

입력

첫 줄에는 절단 횟수 NN이 주어진다 (4≤N≤1044 \le N \le 10^4). 둘째 줄에는 레이저 헤드의 초기 위치 X0X_0과 Y0Y_0이 주어진다 (1≤X0≤1031 \le X_0 \le 10^3, 1≤Y0≤1031 \le Y_0 \le 10^3). 이어지는 NN개의 줄에는 절단 ii가 끝나는 위치 XiX_i와 YiY_i가 주어진다 (1≤Xi≤1031 \le X_i \le 10^3, 1≤Yi≤1031 \le Y_i \le 10^3, 1≤i≤N1 \le i \le N). (XN,YN)=(X0,Y0)(X_N, Y_N) = (X_0, Y_0)이다. 첫 위치와 마지막 위치를 제외하고, 입력의 모든 위치는 서로 다르다.

출력

절단 순서로 생기는 가장 큰 조각의 넓이를 정수 하나로 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    8
    2 1
    7 1
    7 4
    3 4
    3 2
    5 2
    5 6
    2 6
    2 1
    
    예상 출력
    17
    
  2. 예제 2

    입력
    14
    1 1
    8 1
    8 6
    6 6
    6 2
    2 2
    2 4
    7 4
    7 5
    3 5
    3 3
    4 3
    4 6
    1 6
    1 1
    
    예상 출력
    21