Feladat: I.172 Korcsoport: - Nehézségi fok: -
Füzet: 2007/december, 556. oldal  PDF  |  MathML 
Témakör(ök): Feladat

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Egy áruház téli akciójában minden vásárlást követően, amelynek értéke meghaladja a 3000 Ft-ot, egy 100 Ft értékű utalványt kapunk. Az utalvány egy következő vásárláskor használható fel. Tervezzük, hogy a közeljövőben több terméket is vásárolunk az áruházban. Szeretnénk a lehető legjobban kihasználni az akcióban rejlő lehetőséget, ezért nem egyszerre vesszük meg, amiket szeretnénk, hanem többször vásárolunk: a megvételre kiválasztott termékeket áraik alapján úgy csoportosítjuk, hogy összességében a lehető legkevesebbet kelljen fizetni értük, tehát a vásárlások során a legtöbb kedvezményt kapjuk.
Készítsünk programot, amely a megvásárolandó termékeket (legföljebb 100 darabot) azok ára alapján úgy csoportosítja, hogy a lehető legtöbb utalványt kapjuk, így a lehető legkevesebbet kelljen összesen fizetni. A termékeket tartalmazó szöveges bemeneti fájl minden egyes sorában a termékek 6 jegyű kódja (egy hat számjegyből álló szám) és a termék ára (10 Ft és 50 000 Ft közötti érték) szerepel, egymástól szóközzel elválasztva. A program olvassa be a fenti adatokat a parancssor első paramétereként megadott bemeneti állományból, majd a második paraméterként megadott kimeneti állományba írja az eredményt. Az eredmény csak az egyes vásárlások alkalmával fizetendő összegeket tartalmazza, egy vásárlás összegét egy sorban, illetve az állomány utolsó sorában a teljes fizetendő összeg szerepeljen.
Beküldendő a program forráskódja (i172.pas, i172.cpp, ...), valamint a program rövid dokumentációja (i172.txt, i172.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.