Zoznam úloh

4. Bučia kravičky

V staroveku žil úbohý sedliak Matej, ktorý na celom svete mal iba svoju ženu a niekoľko kráv rôznej kvality. Kvalita sa dala vyhodnotiť napríklad podľa počtu končatín, chuti mlieka alebo či je krava ešte nažive. Aj napriek tomu, že bol naozaj úbohý a nič nemal, každé ráno za ním prišiel vyberač daní a on mu musel zaplatiť. Suma na zaplatenie sa mala určovať ako najkvalitnejšia krava, ktorú sedliak vlastní plus jedna v dukátoch. Jediné Matejove šťastie bolo, že vyberač daní bol lenivý a kvalitu kontroloval od najhoršej kravy a prvú kvalitu, ktorú nenašiel povedal Matejovi aby zaplatil. Začal tým, že si popozeral mŕtve kravy, potom kravy, ktoré sa nevedeli hýbať, potom tie, ktoré mali iba jednu nohu a tak ďalej až kým nenašiel kravu nejakej kvality. Aby vedel Matej dane platiť, každý deň si musel jednu kravu vybrať, celý deň ju porcovať a nakoniec poslať ženu aby ju predala. Napadlo mu ale, že ak si správne vyberie poradie, v ktorom sa kráv bude zbavovať tak zaplatí menej v daniach.

Úloha

Máme $n$ kráv kvality $k$, kde krava $i$ má kvalitu $k_i$. Každý deň príde vyberač daní, postupne zistí či je krava s kvalitou 0, kvalitou 1, 2, 3, 4 … a prvú kvalitu, ktorú nenájde, musí sedliak zaplatiť v dukátoch. Sedliak si potom vyberie jednu kravu, ktorej sa zbaví a celý deň ju bude porcovať. Sedliaka zaujíma, koľko najmenej peňazí musí zaplatiť, ak sa bude správne zbavovať svojich kráv.

Ak nemá žiadne kravy alebo kravy kvality 0, zjavne už nebude platiť dane. Predpokladajte tiež, že sedliak má vždy aspoň toľko peňazí aby dane zaplatil.

Formát vstupu

V prvom riadku vstupu je číslo $n$ ($1 \leq n \leq 2\,001$) udávajúce počet kráv, ktoré sedliak vlastní.

V druhom riadku je $n$ čísiel $k$, kde $k_i$ je kvalita kravy $i$.

Sada 1 2 3 4
$1 \leq n \leq$ $2\,001$ $2\,001$ $1\,001$ $2\,001$
$0 \leq k \leq$ $2$ $10$ $1000$ $10^9$

Formát výstupu

Vypíš jeden riadok a v ňom jedno celé číslo, ktoré určuje, koľko peňazí v daniach zaplatí úbohý sedliak Matej.

Príklad

Vstup

4
2 0 3 1

Výstup

4

V prvý deň zaplatí 4 peniaze a naporcuje kravu 0, každý ďalší deň platí v daniach 0.

Vstup

5
0 1000 0 0 1

Výstup

5
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