aeroport

Publicat de: vlad
Memorie: 512.0MB/512.0MB
Timp de execuție: 0.35s
Operații IO: stdin/stdout
Etichete: Arată

Porcul Roșu trebuie să construiască un aeroport pentru avionul său, și pentru asta are nevoie de ajutorul vostru!

Zona unde va fi construit aeroportul este reprezentată de planul punctelor având coordonate reale $(x, y)$ unde $x, y \in [-L, L]$. Aeroportul va fi amplasat într-un punct $P$ dintre acestea, la coordonatele $(x_P, y_P)$. Sunt totuși $N$ obstacole, la punctele $O_1, \ldots, O_N$, cu coordonatele $(x_1, y_1), \ldots, (x_N, y_N)$. Se garantează că $|x_i|, |y_i| \leq K$, unde $K < L$, și că $x_i, y_i$ sunt întregi. Gradul de supărare determinat de aceste obstacole este dat de
\[
\max_{1 \leq i, j \leq N} m(\angle O_i P O_j),
\]
unde $m(\angle X Y Z)$ este măsura unghiului determinat de punctele $X$, $Y$ și $Z$. Observați că $m(\angle X Y Z) \in [0, \pi]$ prin definiție.

În plus față de gradul de supărare, locul unde Porcul Roșu își construiește aeroportul trebuie să fie la distanță cel puțin 1 față de oricare obstacol. Cu alte cuvinte, distanța dintre $P$ și $O_i$ trebuie să fie cel puțin 1 pentru oricare $i$ de la $1$ la $N$.

Cerință

Ajutați-l pe Porcul Roșu să găsească un punct $P$ care minimizează gradul de supărare generat de obstacole, și care satisface celelalte condiții cerute.

Date de intrare

Prima linie a datelor de intrare conține numerele $N$, $K$ și $L$. Următoarele $N$ linii conțin coordonatele punctelor $O_1, \ldots, O_N$.

Date de ieșire

Să se afișeze gradul de supărare minim pe care îl putem obține.

Restricții și precizări

  • $1 \leq N \leq 100000$
  • $1 \leq K < L \leq 10^9$
  • $|x_i|, |y_i| \leq K$
  • Punctele $O_1, \ldots, O_N$ sunt distincte
  • O soluție va fi considerată a fi corectă dacă gradul de supărare nu este mai mare cu mai mult de $10^{-5}$ decât soluția comisiei
  • Gradul de supărare este măsurat în radiani
  • Pentru $2$ puncte: $N = 2$
  • Pentru $15$ puncte: $N = 3$
  • Pentru $15$ puncte: $N \leq 100$
  • Pentru $16$ puncte: $N \leq 1500$
  • Pentru $12$ puncte: Pozițiile punctelor sunt alese aleator uniform, $K = 5 \times 10^8$
  • Pentru $40$ de puncte: Fără restricții suplimentare

Exemple

Intrare

3 9 10
6 -2
4 -4
-1 -2

Ieșire

0.141897054604