Pucanje


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C++, Haskell, OCaml, PyPy, Python

Ivica se zadnjih dana skroz navukao na kaubojske filmove i uvjeren je da je novi Clint Eastwood - samo s manje prašine, a više samopouzdanja. Njegov tata drži streljanu i odlučio ga je napokon naučiti pucati kako treba. Ivica napne reveoler i ispali \(n\) metaka, smjer svakog opisan pomoću dva kuta \(a_i\) i \(b_i\) u stupnjevima.

  • \(a_i\), kut otklona (lijevo–desno, x-os)
  • \(b_i\), kut elevacije (gore–dolje, y-os)

Zid streljane se nalazi na udaljenosti \(z\) od Ivice a meta je u točki \((x, y, z)\). Pretpostavljamo da metci lete ravno (zanemarujemo gravitaciju i otpor zraka).

Vaš zadatak je odrediti koji metak je ostavio rupu na zidu koja je najbliža meti. Ako ima više takvih metada ispišite onaj s najmanjim rednim brojem. Udaljenost do mete se računa kao euklidska udaljenost.

Ulazni podaci

U prvome retku nalazi se broj \(n\) (\(1 \leq n \leq 2\cdot 10^5\)).

Zatim u sljedećem retku se nalazi tri prirodna broja \(x y z\), \((-10^{18} \leq x, y \leq 10^{18}, 1 \leq z \leq 10^{18})\), pozicija mete.

Slijedi \(n\) redaka oblika: \(a_i\) \(b_i\) (\(-90 < a_i, b_i < 90\)), kut otklona po x-osi i po y-osi u stupnjevima sa najviše dvije decimale.

Izlazni podaci

U prvi redak ispišite jedan broj, redni broj traženog hitca.

Podzadatci

Podzadatak Broj bodova Ograničenja
1 70 \(b_i = 0\)
2 30 Nema dodatnih ograničenja.

Ulaz primjera 1

3
0 1 13
-89.99 0
10 0
89.99 0

Izlaz primjera 1

2

Ulaz primjera 2

4
1000000000000000000 -1000000000000000000 1000000000000000000
-89.99 89.99
-89.99 -89.99
0 0
0 0

Izlaz primjera 2

3

Comments

There are no comments at the moment.