Přesunuto na GitHub https://github.com/ksp/kurz
https://ksp.mff.cuni.cz/kurz
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.8 KiB
28 lines
1.8 KiB
4 years ago
|
<p>
|
||
|
K tomu, abychom za věci utratili co možná nejméně, potřebujeme do košíku
|
||
|
postupně vybírat věci od té nejlevnější po tu nejdražší.</p>
|
||
|
<p>
|
||
|
Pole cen tedy vzestupně setřídíme a budeme jej postupně procházet, přičemž
|
||
|
si budeme pamatovat součet cen věcí, které při průchodu potkáme. Jakmile
|
||
|
při procházení přesáhne tento součet koruny vyhrazené na nákup, tak podle
|
||
|
pozice v poli víme, kolik věcí si můžeme koupit.</p>
|
||
|
<p>
|
||
|
Jelikož se však zadání ptá na počet věcí, které si koupit nemůžeme, tak jako
|
||
|
řešení vypíšeme počet věcí od pozice, kde jsme skončili s procházením, do konce
|
||
|
pole cen.</p>
|
||
|
<p>
|
||
|
Řešení je jistě správné, určitě se totiž nemůže stát, že bychom si mohli koupit
|
||
|
víc věcí, než nám vypíše algoritmus. Vyhodili jsme z košíku ty nejdražší věci,
|
||
|
které jsme mohli, takže nám jich určitě nestačilo vyhodit méně.</p>
|
||
|
<p>
|
||
|
Rychlost řešení ovlivní hlavně to, jak rychle dokážeme ceny setřídit. Existují
|
||
|
různé třídící algoritmy a pokud použijete nějaký algoritmus zabudovaný přímo
|
||
|
v programovacím jazyce, běží většinou v čase <span class="math">O(n <span class="nomath">log</span> n)</span>. Pokud jste si
|
||
|
implementovali vlastní jednoduché třídění, pravděpodobně bude mít časovou
|
||
|
složitost <span class="math">O(n<sup>2</sup>)</span>. O třídících algoritmech si můžete přečíst
|
||
|
v naší <a href="http://localhost/viz/kucharky/trideni">kuchařce o třídění</a>.</p>
|
||
|
<p><a href="http://localhost/z/ulohy/32/32Z11.py">Program (Python 3)</a></p>
|
||
|
<p><a href="http://localhost/z/ulohy/32/32Z11.cpp">Program (C++)</a></p>
|
||
|
<p class="author"><a href="http://localhost/kontakty/organizatori/">Tom Sláma</a></p>
|
||
|
<hr class="clearfloat">
|