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

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

금성 버스

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

요약
닫힌 경로를 따라 이동하는 버스에서 창문이 진행 방향을 향할 때, 창문이 받는 햇빛의 총량, 즉 진행 방향 단위벡터의 양의 x성분을 경로 전체에 대해 적분한 값을 최소로 하는 자리를 구한다.
난이도

보통10점 중 7점

유형
기하, 수학, 구현
정답자
아직 제출이 없습니다

문제

금성의 인간 식민지가 번창하고 있다. 이곳에서 가장 많이 쓰이는 교통수단은 금성 버스다. 금성 버스는 창문과 좌석이 가장자리를 따라 늘어선 비행접시다. 이 버스에서는 모든 좌석이 창가 좌석이다. 그리고 좌석을 바꾸는 것은 허용되지 않는다. 따라서 사람이 자리를 한 번 정하면, 버스에서 내릴 때까지 그 자리에 있어야 한다.

완전 자율 차량임에도 불구하고, 각 버스에는 예상치 못한 문제를 처리할 엔지니어가 탑승한다. 당신은 1C9C 버스의 엔지니어이고, 근무 시간 대부분을 책을 읽으며 보낸다. 문제는 당신이 햇빛을 받는 것을 매우 싫어한다는 것이다. 따라서 당신은 근무 시간 동안 받게 될 햇빛의 총량을 최소화하는 자리를 고르고 싶다.

식민지는 데카르트 평면으로 표현되며, X축은 동쪽을, Y축은 북쪽을 가리킨다. 금성의 낮은 매우 길어서(심지어 1년보다도 길다), 태양은 항상 동쪽 방향에 있다고 가정할 수 있다. 즉, 햇빛은 항상 X축 반대 방향인 서쪽으로 이동한다.

아래 그림을 보자. 창문이 동쪽을 향할수록 더 많은 햇빛을 견뎌야 한다. 하지만 창문이 서쪽을 향하면 햇빛을 전혀 받지 않는다.

형식적으로, 벡터 (Dx, Dy)가 당신의 창문이 향하는 방향을 나타낸다고 하자. Dx > 0일 때만 햇빛을 받는다. 그리고 θ를 벡터 (Dx, Dy)와 (1, 0)(태양을 똑바로 가리키는 벡터) 사이의 각도라고 하자. cos(θ) ≤ 0이면 햇빛을 전혀 받지 않는다. 그렇지 않으면 초당 cos(θ)만큼의 햇빛을 받는다.

버스의 노선은 식민지 주변의 정류장들로 이루어진 수열이다. 버스는 첫 번째 정류장에서 근무를 시작해 모든 정류장을 순서대로 방문한 다음 첫 번째 정류장으로 돌아온다.

연속한 두 정류장 사이의 이동은 항상 직선으로, 일정한 속도 초속 1미터로 이루어진다. 그리고 버스는 둥글지만 "앞쪽"이 있다. 이 앞쪽은 항상 버스가 움직이는 방향을 향하고, 버스는 정류장에서 방향을 바꿀 때 적절히 회전한다.

버스가 방향을 바꾸거나 승객을 태우고 내리는 데 걸리는 시간은 무시해도 된다.

입력

첫째 줄에는 버스 노선이 방문하는 정류장의 수 N이 주어진다.

다음 N개 줄에는 각 정류장의 X, Y 좌표가 공백으로 구분되어 주어진다.

정류장은 방문하는 순서대로 주어진다.

어떤 정류장이 노선에서 여러 번 방문될 수 있다.

연속한 두 정류장은 서로 다르며, 마지막 정류장과 첫 번째 정류장도 서로 다르다.

모든 좌표의 단위는 미터다.

출력

버스 노선을 따라 한 번의 운행에서 받을 수 있는 최소 총햇빛량을 나타내는 실수 하나를 한 줄에 출력한다. 답은 소수점 이하 두 자리까지 정확히 출력해야 한다.

제한

  • 2 ≤ N ≤ 100000.
  • 각 정류장의 좌표는 −10000 ≤ X, Y ≤ 10000 범위의 정수다.

예제3

  1. 예제 1

    입력
    3
    2 5
    17 5
    11 11
    
    예상 출력
    6.00
    
  2. 예제 2

    입력
    4
    3 0
    3 6
    6 3
    0 3
    
    예상 출력
    4.24
    
  3. 예제 3

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