Aeroport

Time limit: 0.25s Memory limit: 512MB Input: Output:

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)(x, y) unde x,y[L,L]x, y \in [-L, L]. Aeroportul va fi amplasat într-un punct PP dintre acestea, la coordonatele (xP,yP)(x_P, y_P). Sunt totuși NN obstacole, la punctele O1,,ONO_1, \ldots, O_N, cu coordonatele (x1,y1),,(xN,yN)(x_1, y_1), \ldots, (x_N, y_N). Se garantează că xi,yiK|x_i|, |y_i| \leq K, unde K<LK < L, și că xi,yix_i, y_i sunt întregi. Gradul de supărare determinat de aceste obstacole este dat de max1i,jNm(OiPOj),\displaystyle \max_{1 \leq i, j \leq N} m(\angle O_i P O_j), unde m(XYZ)m(\angle X Y Z) este măsura unghiului determinat de punctele XX, YY și ZZ. Observați că m(XYZ)[0,π]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 PP și OiO_i trebuie să fie cel puțin 1 pentru oricare ii de la 11 la NN.

Cerință

Ajutați-l pe Porcul Roșu să găsească un punct PP 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 NN, KK și LL. Următoarele NN linii conțin coordonatele punctelor O1,,ONO_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

  • 1N100 0001 \leq N \leq 100 \ 000
  • 1K<L1091 \leq K < L \leq 10^9.
  • xi,yiK|x_i|, |y_i| \leq K.
  • Punctele O1,,ONO_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 10510^{-5} decât soluția comisiei.
  • Gradul de supărare este măsurat în radiani.

Subtask 1 (2 puncte)

  • N=2N = 2

Subtask 2 (15 puncte)

  • N=3N = 3

Subtask 3 (15 puncte)

  • N100N \leq 100

Subtask 4 (16 puncte)

  • N1 500N \leq 1 \ 500

Subtask 5 (12 puncte)

  • Pozițiile punctelor sunt alese aleator uniform, K=5×108K = 5 \times 10^8.

Subtask 6 (40 puncte)

  • Fără restricții suplimentare

Exemplu

stdin

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

stdout

0.141897054604

Log in or sign up to be able to send submissions!