Prihlásenie Registrácia  

V - Volby

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

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3

Počet bodov: 1

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

V sobotu, 5.3.2016, sa v súlade so zákonom č. 180/2014 Z.z. konali voľby do Národnej rady Slovenskej republiky. V diskusných reláciách to začalo vrieť - všetci politický komentátori sa predbiehajú vo vyjadreniach ako môže či nemôže z daných výsledkov vzniknúť nová vláda (na ďalšie štvorročné obdobie). Predstavitelia politických strán pred voľbami hovorili s ktorou stranou do vlády áno, a s ktorou nie. Samozrejme všetko závisí od výsledkov, ktoré ešte stále nie sú definitívne (keďže jeden okres stále nie je započítaný). Pomôžte analytikom vytvorením programu, ktorý pre zadané výsledky volieb a analytikmi doplnené hodnoty ochoty vytvoriť koalíciu určí najpevnejšiu koalíciu.

Zákon č. 180/2014 Z. z.

§ 66
  1. Štátna komisia zisťuje, koľko platných hlasov celkovo bolo odovzdaných pre každú politickú stranu a koalíciu.
  2. Štátna komisia ďalej zisťuje,
    1. ktoré politické strany získali menej ako päť percent z celkového počtu odovzdaných platných hlasov,
    2. ktoré koalície zložené z dvoch alebo troch politických strán získali menej ako sedem percent z celkového počtu odovzdaných platných hlasov,
    3. ktoré koalície zložené najmenej zo štyroch politických strán získali menej ako desať percent z celkového počtu odovzdaných platných hlasov.
  3. Politické strany alebo koalície, ktoré získali viac hlasov z celkového počtu odovzdaných platných hlasov, ako je uvedené v odseku 2, postupujú do ďalšieho zisťovania volebných výsledkov. Na platné hlasy odovzdané politickým stranám a koalíciám podľa odseku 2 štátna komisia neprihliada.
§ 67
  1. Ak štátna komisia zistí, že podľa § 66 nepostupuje do ďalšieho zisťovania volebných výsledkov žiadna politická strana alebo koalícia, zníži
    1. hranicu piatich percent na hranicu štyroch percent, ak ide o politickú stranu podľa § 66 ods. 2 písm. a),
    2. hranicu siedmich percent na hranicu šiestich percent, ak ide o koalíciu podľa § 66 ods. 2 písm. b),
    3. hranicu desiatich percent na hranicu deviatich percent, ak ide o koalíciu podľa § 66 ods. 2 písm. c).
  2. Štátna komisia postupne znižuje percentuálnu hranicu podľa odseku 1 tak, aby do ďalšieho zisťovania volebných výsledkov postúpili aspoň dve politické strany alebo dve koalície alebo aspoň jedna politická strana a jedna koalícia.
§ 68 Prideľovanie mandátov
  1. Súčet platných hlasov odovzdaných pre postupujúce politické strany alebo koalície sa vydelí číslom 151. Číslo, ktoré vyšlo týmto delením, zaokrúhlené na celé číslo je republikovým volebným číslom.
  2. Celkový počet platných hlasov, ktorý získala politická strana alebo koalícia, sa delí republikovým volebným číslom a politickej strane alebo koalícii sa pridelí toľko mandátov, koľkokrát je republikové volebné číslo obsiahnuté v súčte platných hlasov, ktoré táto politická strana alebo koalícia získala.
  3. Ak sa takým spôsobom pridelil o jeden mandát viac, než sa mal prideliť, odpočíta sa prebytočný mandát tej politickej strane alebo koalícii, ktorá vykázala najmenší zostatok delenia. Pri rovnakom zostatku delenia sa mandát odpočíta politickej strane alebo koalícii, ktorá získala menší počet hlasov. Ak je počet platných hlasov rovnaký, rozhoduje žreb.
  4. Ak neboli tým spôsobom pridelené všetky mandáty alebo ak politická strana alebo koalícia kandidovala menej kandidátov, ako jej má byť pridelených mandátov, štátna komisia pridelí tieto mandáty postupne tým politickým stranám alebo koalíciám, ktoré majú najväčší zostatok delenia. Pri rovnosti zostatkov hlasov sa pridelí mandát politickej strane alebo koalícii, ktorá získala väčší počet hlasov. Ak je aj počet hlasov rovnaký, rozhoduje žreb.
  5. V rámci jednotlivých politických strán alebo koalícií kandidáti dostanú mandáty pridelené strane v poradí, v akom sú uvedení na hlasovacom lístku. Ak však voliči, ktorí odovzdali platný hlas pre túto politickú stranu alebo koalíciu, využili právo prednostného hlasu, dostane najskôr mandát ten z kandidátov, ktorý získal aspoň tri percentá prednostných hlasov z celkového počtu platných hlasov odovzdaných pre politickú stranu alebo koalíciu. Ak politickej strane alebo koalícii je pridelených viac mandátov a viac kandidátov splnilo podmienku podľa predchádzajúcej vety, mandáty dostanú kandidáti postupne v poradí podľa najvyššieho počtu získaných prednostných hlasov. Ak je rovnosť prednostných hlasov, je rozhodujúce poradie na hlasovacom lístku.
  6. Kandidáti, ktorí nedostali mandát, sa stávajú náhradníkmi.

Úloha

Pre zadané výsledky volieb a tabuľku znášanlivosti v koalícii určte počty pridelených mandátov jednotlivým stranám a vyberte najpevnejšiu vládnucu (majúcu nadpolovičný počet poslancov, t.j. aspoň 76) koalíciu . Najpevnejšia koalícia je koalícia s najväčšou silou určenou najmenšou ochotou dvojice jej strán, konkrétne súčinu ich vzájomných hodnôt ochoty vytvoriť koalíciu.

Vstup

Prvý riadok obsahuje jedno celé číslo 1≤S≤100, počet strán kandidujúcich vo voľbách. Druhý riadok obsahuje S medzerou oddelených čísiel, 1 ≤ Hi ≤, počet platných hlasov získaných stranou s poradovým číslom 1 ≤ i ≤ S. Nasleduje tabuľka s S riadkami a S stĺpcami. Prvok [x, y] vyjadrujúe ochotu strany Sx vstúpiť do koalície so stranou Sy. Tieto hodnoty sú uvedené ako celé čísla udávajúce promile ochoty. Môžete predpokladať, že na diagonále sú len hodnoty 1000 (každá strana chce byť vo vláda, keď tam bude ona).
Takisto môžete predpokladať, že všetky strany kandidujú samostatne (nie ako koalície viacerých strán) a takisto, že aspoň dve politické strany získali aspoň 4 percentá platných hlasov. Zároveň môžete predpokladať, že každá strana nominovala dostatočný počet kandidátov ako aj, že o počte mandátov nerozhodoval žreb.

Výstup

Výstup obsahuje na prvom riadku počet strán, ktoré sa na základe vyššie uvedeného zákona dostali do parlamentu.
Druhý riadok obsahuje počty mandátov, ktoré získali strany v parlamente, uvedené v poradí podľa poradového čísla.
Tretí riadok obsahuje počet strán, ktoré vytvoria najpevnejšiu vládnu koalíciu. V poslednom, štvrtom, riadku sú uvedené poradové čísla jednotlivých strán v tejto koalícii. V prípade zhody pevnosti dvoch koalícií rozhoduje počet mandátov koalícií.

Príklad

Vstup:

6
1001 930 100 1005 1203 200
1000 100 200 300 200 100
100 1000 300 200 200 100
200 200 1000 400 500 100
123 456 789 1000 987 100
234 234 234 234 1000 100
800 700 600 500 400 1000

Výstup:

4
36 34 36 44
2
4 5

Vstup pre voľby zo dňa 5.3.2016, tabuľku si už doplnia analytici

23
18845 4559 287611 1998 6522 172860 17541 1777 2426 3182 169593 225386 3428 16278 6938 737481 128908 21785 209779 146205 105495 3595 315558
...

Výstup:

8
19 11 11 15 49 14 10 21
...