![]() |
Az S. 96. feladat (2015. február) |
S. 96. Egy D (1≤D≤1015) hosszú rudat szeretnénk szétvágni N (1≤N≤500000) db kisebb rúdra. Tudjuk a kisebb rudak hosszát: az i-edik hossza ri (1≤ri≤1015) és azt is tudjuk, hogy a kisebb rudak összhossza D. Egy L hosszú rúd szétvágása tetszőleges hosszúságú két részre L forint. Egy vágással egyszerre csak egy rudat szabad kettévágni. Daraboljuk föl a lehető legolcsóbban a teljes D hosszú rudat a megadott ri hosszú részekre.
A program olvassa be a standard input első sorából N-et és D-t, majd a következő N sorból az ri egészeket, majd írja a standard output első sorába a minimális pénzt, amennyivel megoldható a szétdarabolás.
Pontozás és korlátok: A programhoz mellékelt, a helyes megoldás elvét tömören, de érthetően leíró dokumentáció 1 pontot ér. A programra akkor kapható meg a további 9 pont, ha bármilyen hibátlan bemenetet képes megoldani az 1 mp futásidőkorláton belül.
Beküldendő egy tömörített s96.zip állományban a program forráskódja (s96.pas, s96.cpp, ...) az .exe és más, a fordító által generált állományok nélkül, valamint a program rövid dokumentációja (s96.txt, s96.pdf, ...), amely a fentieken túl megadja, hogy a forrás mely fejlesztői környezetben fordítható.
(10 pont)
A beküldési határidő 2015. március 10-én LEJÁRT.
Statisztika:
12 dolgozat érkezett. 10 pontot kapott: Csenger Géza, Juhász 326 Dániel, Weisz Ambrus, Zalavári Márton, Zarándy Álmos. 4 pontot kapott: 1 versenyző. 3 pontot kapott: 3 versenyző. 2 pontot kapott: 1 versenyző. 1 pontot kapott: 1 versenyző. 0 pontot kapott: 1 versenyző.
A KöMaL 2015. februári informatika feladatai
|