Zoznam úloh

2. Incident na diaľnici

Kolo už skončilo. Môžeš si pozrieť vzorové riešenie.

Na diaľnici sa prevrátili tri kamióny s číslami a všetky čísla sa rozsypali. Keď sa kamióny podarilo postaviť na kolesá, tak vodiči začali nakladať čísla naspäť. Popri tom ale zabudli ako boli rozdelené do kamiónov. Jediné čo vedia je, že súčin čísiel v prvom kamióne je záporný, v druhom kladný a v treťom nulový. Taktiež vedia, že ani jeden kamión nebol prázdny. Pomôžte im nájsť správne rozdelenie čísiel.

Úloha

Na vstupe dostanete $n$ čísiel. Vašou úlohou je rozdeliť všetky čísla do troch neprázdnych skupín tak, aby sučin čísiel v prvej skupine bol záporný, v druhej kladný a v tretej nulový.

Čísla na vstupe sa môžu opakovať, nie sú zaručene rôzne. Zachovajte počet, aby bola každá hodnota na výstupe dokopy presne toľkokrát, ako na vstupe.

Je zaručené, že takéto rozdelenie je možné.

Formát vstupu

Na prvom riadku vstupu je číslo $n$ ($3 \leq n \leq 10^5$).

Na nasledujúcom riadku je $n$ medzerou oddelených celých čísiel $a_i$.

V jednotlivých sadách platia nasledujúce obmedzenia:

Sada 1 2 3 4
$3 \leq n \leq$ $10$ $100$ $1\,000$ $10^5$
$\max |a_i| \leq$ $10$ $100$ $1\,000$ $10^5$

Formát výstupu

Vypíšte tri riadky. Prvý riadok obsahuje čísla, ktorých súčin je záporný, druhý riadok čísla, ktorých súčin je kladný. Na poslednom riadku sú čísla s nulovým súčinom. Každý riadok má nasledujúci formát: Prvé číslo určuje, koľko čísiel je v danej skupine. Následujú čísla, ktoré sú v danej skupine. Medzi číslami je vždy práve jedna medzera. Za posledným číslom medzera nie je. Čísla v jednotlivých skupinách môžu byť v ľubovoľnom poradí.

Príklady

Input:

3
1 0 -1

Output:

1 -1
1 1
1 0

Input:

4
-1 0 1 2

Output:

1 -1
1 2
2 0 1

Ďalšia správna odpoveď je aj ak je v druhej skupine iba číslo $1$ a v tretej skupine čísla $2$ a $0$.

Pre odovzdávanie sa musíš prihlásiť.
Trojsten

Korešpondenčný seminár z programovania zastrešuje občianske združenie Trojsten.

Kontakt
Ďalšie projekty