아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

편식

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

요약
볼록 다각형 피자를 이웃하지 않은 두 꼭짓점을 잇는 대각선으로 잘라 올리브가 없는 조각 중 가장 큰 조각을 구합니다.
난이도

보통10점 중 6점

유형
기하, 완전 탐색, 누적 합
정답자
아직 제출이 없습니다

문제

병찬이는 친구 공찬이를 위해 피자를 시켰다. 그런데 공찬이는 올리브를 싫어해서 피자를 잘라 먹으려고 한다.

피자는 볼록다각형 모양이고, 올리브는 피자 안에 박혀 있다. 공찬이는 인접하지 않은 두 꼭짓점을 골라 그 두 꼭짓점을 잇는 직선을 따라 피자를 한 번 자른다. 자르고 나면 조각이 두 개 생기고, 공찬이는 그중 올리브가 없는 조각을 골라 먹는다. 다만 자르는 직선 위에 올리브가 있으면 그 올리브가 두 갈래로 잘리므로 두 조각 모두 먹지 못한다.

병찬이는 피자를 많이 먹지 않으므로, 공찬이는 자기가 먹을 조각이 가장 크도록 피자를 자르려고 한다. 공찬이를 도와 얼마나 크게 자를 수 있는지 구하는 프로그램을 작성하여라.

입력

첫째 줄에 피자의 꼭짓점 개수 NN이 주어진다.

둘째 줄부터 NN개의 줄에 피자의 각 꼭짓점의 좌표 XiX_i, YiY_i가 주어진다. 꼭짓점은 시계 반대 방향으로 주어지고, 피자가 이루는 NN개의 각은 모두 180도보다 작다.

N+2N+2번째 줄에 올리브의 개수 MM이 주어진다.

N+3N+3번째 줄부터 MM개의 줄에 올리브의 좌표 XiX_i, YiY_i가 주어진다. 올리브가 피자의 변 위에 있거나 피자 밖에 있는 경우는 없다. 올리브는 매우 작아서 점으로 봐도 된다.

출력

공찬이가 어떻게 잘라도 먹을 수 있는 조각이 나오지 않으면 0을 출력한다.

그렇지 않으면 공찬이가 먹을 수 있는 조각의 최대 넓이에 2를 곱한 값을 출력한다. 잘 생각해 보면 이 값은 항상 정수임을 알 수 있다.

제한

모든 좌표는 정수이고 −109-10^9 이상 10910^9 이하다. 피자는 볼록다각형이므로 N≥3N \ge 3이다.

예제3

  1. 예제 1

    입력
    5
    0 1
    3 0
    4 2
    2 3
    0 3
    3
    2 1
    3 1
    3 2
    
    예상 출력
    4
    
  2. 예제 2

    입력
    6
    -3 3
    -3 -4
    -2 -5
    2 -5
    3 -4
    3 3
    7
    1 0
    0 -1
    0 -3
    2 0
    0 0
    0 2
    -1 0
    
    예상 출력
    10
    
  3. 예제 3

    입력
    6
    0 3
    -1 2
    -1 -2
    0 -3
    1 -2
    1 2
    1
    0 0
    
    예상 출력
    4