Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2008-01-24 08:19:28.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:primar.in, primar.outSursăWinter Challenge 2008, Runda 1
AutorBogdan Alexandru StoicaAdăugată defireatmyselfBogdan-Alexandru Stoica fireatmyself
Timp execuţie pe test0.125 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Primar

Dubluveu a fost ales de curand primar in Popricani. Ca sa poate obtine fondurile structurale pentru dezvoltarea comunei, proaspatul primar trebuie sa-si aleaga cat mai repede consilierii locali. Pentru ca in campania electorala, le-a promis popricanenilor ca nu va face discrimanari (ca si primarul precedent), trebuie ca sa-si aleaga in echipa de lucru atat barbati, cat si femei.
Privit de sus, comuna are o retea de ulite paralela cu axele de coordonate ale sistemului XoY (reprezentate formal de niste segmente). De-alungul acestor drumuri sunt construite N case (reprezentate formal de niste puncte), ca in figura:

Liniile rosii reprezinta ulite, pe cand liniile albastre reprezinta case ce nu se afla pe aceeasi ulita. Spre exemplu casele 1, 2 si 3 sunt pe aceeasi ulita. De asemenea, casele 4, 5 si 6 sunt pe aceeasi ulita. In schimb, casele 1 si 5 sunt pe ulite diferite.

Pentru ca sa nu existe niciun dubiu ca isi va respecta promisiunea, Dubluveu vrea sa aleaga un consilieri din fiecare casa (barbat sau femeie), astfel incat, pe fiecare ulita, diferenta dintre numarul de barbati si numarul de femei alesi in Consiliul Local, sa fie minima.

Cerinta

In calitate de sef de campanie al primarului Dubluveu, trebuie sa determini o alegere a celor N consilieri, care sa respecte promisiunile facute popricanenilor si care sa aiba o discriminare totala minima. Valoarea discriminarii pe o ulita este numeric egala cu diferenta dintre numarul de barbati si numarul de femei, alesi in Consiliul Local, care isi au domiciliul pe acea ulita.

Date de intrare

Pe prima linie a fisierului de intrare primar.in se afla numarul N. Pe urmatoarele N linii se afla coordonatele caselor.

Date de iesire

In fisierul de iesire primar.out veti afisa, pe prima linie, discriminarea minima obtinuta, iar pe ce-a de-a doua, un sir de N numere din multimea {0,1}. Astfel, al i-lea numar va reprezenta alegerea facuta de tine pentru a i-a casa din fisierul de intrare. (0 - reprezinta ca ai numit un barbat de la casa i, 1 - reprezinta ca ai numit o femeie de la casa i)

Restrictii

  • 1 ≤ N ≤ 300 000
  • coordonatele caselor sunt numere intregi ale caror coordonate nu depasesc, in modul, 2 000 000 000
  • intr-o casa locuiesc cel putin un barbat si cel putin o femeie

Exemplu

primar.inprimar.out
5
0 0
0 1
1 0
1 1
1 2
1
1 0 0 1 0

Explicatie

din casele 2, 3 si, respectiv, 5 casa vei alege cate un barbat, iar din casele 1 si 4 vei alege cate o femeie.

Pe ulitele 1, 2 si 4, diferenta dintre numarul de barbati (punctele albastre) si numarul de femei (punctele rosii) este 0. Pe ulita 3, diferenta este 1. In total discriminarea are valoarea 1, fiind minima posibila pe acest exemplu.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?