Informatika gyűjtemény

NézetNyomtat

Rendőrök

Egy autópálya mentén N város helyezkedik el. Bizonyos városokban autópálya rendőrök tartózkodnak, némelyikben több, némelyikben egy sem. Összesen lefgfeljebb N rendőr van. Azt szeretnénk elérni, hogy a lehető legtöbb városban legyen rendőr, ezért át kell csoportosítani. Az átcsoportosítást a lehető legkisebb összköltséggel kell végrehajtani. Egy rendőr i. városból a j.-be történő átmozgatásának költsége a városszámok különbségének abszolút értéke: |i-j|

Feladat:

Írj programot (RENDOR.PAS, RENDOR.C, ...), amely kiszámítja az átcsoportosítás lehető legkisebb összköltségét és megadja azt, hogy az átcsoportosítás után mely városokban lesz rendőr.

Bemenet:

A RENDOR.BE szöveges állomány első sorában a városok N száma (1<=N<=100) van. A második sorban pontosan N szám van egy-egy szóközzel elválasztva. Az i-edik szám azt adja meg, hogy az i-edik városban kezdetben hány rendőr tartózkodik. Összesen legfeljebb N rendőr van a városokban.

Kimenet:

A RENDOR.KI szöveges állomány első sorába azt a legkisebb összköltséget kell írni, amellyel elérhető, hogy a legtöbb városban legyen rendőr. A második sorba pontosan N számot kell írni, az i-edik szám 1-es legyen, ha az i-edik városban lesz rendőr az átmozgatás után, egyébként 0. (Ha több megoldás is van, akkor egy tetszőlegeset ki lehet írni.)

Példa:

RENDOR.BERENDOR.KI
7 0 1 0 3 2 0 05 1 1 1 1 1 1 0

Tesztadatok: