Submit solution

Points: 1
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Profesor Đurić veoma voli da programira. Međutim, kako je uvek veoma zauzet, nije stigao da nauči ni jedan moderan programski jezik već još uvek programira bušeći kartice. To radi tako što uzme jednu praznu karticu (bez rupa) i potom buši jednu po jednu rupu, pri tome praveći sigurnosne provere nakon svake probušene rupe. Svaku sigurnosnu proveru profesor izvodi na sledeći način: Najpre načini identičnu kopiju kartice na kojoj radi. Potom tu kopiju stavi iznad originalne kartice tako da im se sve rupe poklope, a onda počne da je pomera, pri čemu pazi da je ne zarotira. Provera traje dok ne isproba sve moguće položaje gornje kartice u odnosu na donju. Rezultat provere je najveći broj rupa koje su se istovremeno poklopile (ne računajući početni položaj kada se sve rupe poklapaju). Pošto su sigurnosne provere profesoru dosadne za izvođenje, zamolio je vas da u nekom malo savremenijem programskom jeziku napišete program koji nalazi rezultate svih sigurnosnih provera.

Ulaz:

Ulazni podaci se učitavaju sa standardnog ulaza. U prvoj liniji ulaza nalazi se prirodan broj n, ukupan broj rupa koji profesor treba da probuši (1 ≤ n ≤ 3000). U svakom od narednih n redova nalaze se dva razmakom razdvojena cela broja x i y, koji predstavljaju koordinate rupe (-230 < x, y < 230). Rupe su date redom kojim ih profesor buši. Ne postoje dve rupe sa istim koordinatama.

Izlaz:

Na standardni izlaz treba zapisati rezultate svih n sigurnosnih provera, u svakoj liniji po jedan, redom kojim su se provere izvodile.

Primer:

standardni ulaz      standardni izlaz
10 
5 1
4 2
3 1
3 3
2 2
1 1
4 3
5 3
5 4
6 2
        
0
1
1
2
3
3
3
4
5
6

Objašnjenje:

Na slici je prikazan izgled kartice nakon svih deset probušenih rupa i položaj kartica u sigurnosnoj proveri u kome ima najviše poklopljenih rupa.


Comments

There are no comments at the moment.