Hide

Problem F
Mandatfordeling

Languages da en

Betragt et valg, hvor m mandater skal fordeles på n partier. Lad vi betegne antallet af stemmer på parti i{1,,n}.

For at fordele de m pladser mellem partierne nogenlunde i forhold til deres stemmeandel kan man bruge den såkaldte D’Hondts metode. Den virker på følgende måde: For hvert parti beregnes en brøk; i første omgang brøken vi/1, som er lig med antallet af stemmer på partiet. Partiet med den største brøk tildeles nu et mandat, og partiets brøk genberegnes. Denne proces bliver gentaget, til alle m mandater er blevet tildelt. Udtrykket for brøken er

visi+1,

hvor si betegner antallet af mandater, der hidtil er blevet tildelt parti i; i første omgang er si=0 for alle partier.

Indlæsning

På første linje står antallet n af partier og antallet m af mandater, med n,m{1,,20000}, adskilte af et enkelt mellemrum. På hver af det følgende n linjer står heltallet vi, som opfylder 1vi50000000 og v1++vnm. Indlæsningen er konstrueret således, at det sidste mandat er entydigt bestemt; man behøver altså ikke at bekymre sig om mekanismer for stemmeligehed.

Testgrupper

Der er to testrupper. Testgruppe 1, som er værd 80 ud af det sammenlagt 100 points, opfylder desuden begrænsningen mvi231. Dermed undgås nogle afrundningsproblemer, som kan opstå i nogle programmeringssprog i afhængighed af den valgte brøk- eller decimaltalsrepræsentationen.

Udskrift

Mandatfordelingen for hvert parti på en linje for sig. Rækkefølgen er den samme som i indlæsningen.

Forklaring af eksempel 4

Parti 1 får det første mandat, fordi det har flest stemmer; dets brøk bliver genberegnet til 172. Parti 2 får næste mandat, fordi 10>172; partiets brøk bliver genberegnet til 102=5. Det tredje mandat går til parti 1, fordi 172>5; partiets nye brøk er 173. Sågar det sidste mandat går til parti 1, fordi 173>5. Parti 1 får altså 3 mandater, parti 2 får 1 mandat.

Sample Input 1 Sample Output 1
2 2
10
10000000
0
2
Sample Input 2 Sample Output 2
2 3
12
11
2
1
Sample Input 3 Sample Output 3
2 4
12
11
2
2
Sample Input 4 Sample Output 4
2 4
17
10
3
1
Sample Input 5 Sample Output 5
4 14
38
35
36
37
4
3
3
4
Hide

Please log in to submit a solution to this problem

Log in