Prihlásenie Registrácia  

112 - Kruzkovicova hra

Časový limit: 6s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3
Obtiažnosť: Štandardná Štandardná

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Uloha

Studenti studujuci na prirodovedeckej fakulte sa velmi radi hraju s cislami. Vzdy na kruzkoviciach, po tom co vypili prilis vela limonady sa pustia do nejakej matematickej hry. Minule si vymysleli takuto:
Kazdy student si vymysli jedno prirodzene cislo z nejakeho vopred zadaneho intervalu a napise ho tajne na papier (Tak, aby ho nikto nevidel). Jeden zo studentov, ktory sa hry priamo nezucastnuje potom vymysli nejake pravidlo, podla ktoreho sa budu moct dane cisla usporiadat a tym sa urci poradie a uspesnost studentov v tejto hre. Janko, na ktoreho tento tyzden padlo poradie vymyslel nasledujuce kriterium: Pre kazde cislo sa spocita jeho vzdialenost od najblizsieho mensieho alebo rovneho prvocisla, pricom pre cislo 1 sa urci vzdialenost 0. Teda vzdialenost cisla 6 je 1, lebo najblizsie mensie alebo rovne prvocislo je 5, pre cislo 9 je vzdialenost 2, lebo najblizsie je 7 a pre 11 je vzdialenost 0, lebo je prvocislom. Pre kazde cislo teda spocitaju vzdialenosti a potom tieto cisla usporiadaju podla nich vzostupne. Ak maju nejake dve cisla rovnaku vzdialenost, tak ich usporiadaju podla ich hodnoty. Mozno Vam tato hra pripada dost jednoducha, ale studentom po tolkych limonadach taka jednoducha nepripadala a preto Vas prosia o pomoc. Nacitajte vsetky cisla a zoradte ich podla kriterii uvedenych vyssie.

Vstup

Prvy riadok vstupu obsahuje prirodzene cislo N, 1 ≤ N ≤ 1000000 (jeden milion), pocet cisel na vstupe. Dalsich N riadkov obsahuju po jednom prirodzenom cisle X, 1 ≤ X ≤ 5000000 (pat milionov), cislo zapisane na papieri niektorym studentom.

Vystup

Na vystup ma program vypisat N riadkov, zoznam usporiadany podla kriterii uvedenych v ulohe. Kazdy riadok ma obsahovat dvojicu cisel X,Y oddelenych medzerou, X - cislo, ktore bolo napisane na papieri a Y - vzdialenost cisla od najblizsieho mensieho alebo rovneho prvocisla.

Priklad 1

Vstup:

6
1
2
3
4
5
6

Vystup:

1 0
2 0
3 0
5 0
4 1
6 1

Priklad 2

Vstup:

5
100
1000
10000
100000
1000000

Vystup:

100 3
1000 3
100000 9
1000000 17
10000 27

Problem by Samuel BWPOW Kupka