Fişierul intrare/ieşire: | pante.in, pante.out | Sursă | Lot Cluj 2009, Baraj 5 |
Autor | Mircea Bogdan Pasoi | Adăugată de | |
Timp execuţie pe test | 0.25 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Pante
După o înfrângere cruntă, Zăhărel a renunţat să mai joace StarCraft şi a decis să mai rezolve o problemă de informatică. Astfel, el are N puncte în plan, de coordonate numere naturale. El primeşte patru numere naturale A, B, C şi D, şi ştie că panta dreptei care trece prin două puncte i şi j se defineşte astfel: . El doreşte să afle numărul de perechi de puncte i j (1 ≤ i < j ≤ N) cu proprietatea că
.
Cerinţă
Fiind date N puncte în plan, să se afle câte perechi de puncte i j (i < j) au proprietatea .
Date de intrare
Fişierul de intrare pante.in conţine pe prima linie numărul natural N. Pe cea de a doua linie se află numerele naturale A B C D separate prin câte un singur spaţiu. Pe fiecare dintre următoarele N linii se găsesc coordonatele x y ale fiecărui punct.
Date de ieşire
Fişierul de ieşire pante.out va conţine o singură linie pe care este scris numărul de perechi cu proprietatea cerută.
Restricţii şi precizări
- 1 ≤ N ≤ 200 000
- 0 ≤ xi, yi ≤ 2 000 000 000
- 0 < A, B, C, D ≤ 2 000 000 000
- Pentru 10% dintre teste 1 ≤ N ≤ 700.
- Oricare două puncte au abscisa diferită.
Exemplu
pante.in | pante.out |
---|---|
3 1 2 1 1 0 0 1 1 2 0 | 1 |
Explicaţie
Perechea de puncte (1, 2) are proprietatea cerută. Perechea (2, 3) are panta -1, iar perechea (1, 3) are panta 0.