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

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

Bergskedja

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

요약
지면 위 여러 봉우리에서 45도로 내려오는 이등변 직각삼각형들이 덮는 전체 넓이를, 겹치는 부분은 한 번만 세어 구한다.
난이도

보통10점 중 6점

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

문제

Markus blir ofta uttråkad på mattelektionerna, och har därför börjat rita olika landskap i sitt räkneblock. Han har till exempel upptäckt följande procedur för att enkelt rita en snygg bergskedja:

  1. Börja med att rita ut marken som en horisontell linje.
  2. Välj sedan ut ett antal punkter ovanför marken. Dessa punkter kommer representera bergstoppar.
  3. Från varje punkt drar man sedan två linjer som skär marken i 45 graders vinkel, vilket skapar ett antal likbenta rätvinkliga triangelar.
  4. Fyll sedan i trianglarna. Notera att trianglarna kan överlappa, och att man då inte behöver fylla i alla helt.

Givet NN punkter som ritats ut ovanför marken, beräkna arean som behöver fyllas i för att skapa bergskedjan.

입력

Den första raden innehåller talet NN. De följande NN raderna innehåller vardera två heltal XX och YY, separerade med mellanslag. Dessa beskriver koordinaterna för de punkter som ritats ut.

출력

Ditt program ska skriva ut ett tal på en rad, den totala arean som behöver fyllas i.

Ett svar på det här problemet kommer att räknas som korrekt om det absoluta felet är mindre än 10−310^{-3}. Notera att man för full poäng behöver kunna skriva ut svar med många siffrors precision (se exempel 3). Om man till exempel kör C++ och cout så kommer man därför behöva ange vilken precision man vill ha innan man skriver ut svaret.

제한

  • 1≤N≤100,000,−100,000≤X≤100,000,0≤Y≤10,0001 \le N\le 100\\,000, -100\\,000 \le X \le 100\\,000, 0 \le Y \le 10\\,000

힌트

En illustration av det första exemplet.

예제3

  1. 예제 1

    입력
    3
    2 2
    3 2
    6 1
    
    예상 출력
    6.75
    
  2. 예제 2

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

    입력
    3
    -100000 10000
    0 9999
    100000 10000
    
    예상 출력
    299980001