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 vállalat embert foglalkoztat. Mindenkinek legfeljebb két beosztottja (akiknek a sorrendje nem fontos), és pontosan egy felettese van, kivéve a főigazgatót, akinek nincs felettese. A munkatársakat az számokkal azonosítjuk, az 1-es a főigazgató. A cég súlyos pénzügyi gondokkal küzd, ezért elhatározták, hogy átszervezik a beosztás rendszerét. Ehhez felvehetnek új munkatársakat, illetve megválhatnak bizonyos alkalmazottaktól. Ezenkívül az egyedüli megengedett művelet az azonosítószámok átírása. Minden egyes új munkatárs felvételéhez állásinterjút kell szervezni krajcárért, valamint tudjuk, hogy az -edik alkalmazott elbocsátása a végkielégítés miatt krajcárba kerül. Az azonosítók átírásának természetesen nincs költsége. A cégvezetés megadta, hogy szerintük mi az optimális vállalati struktúra. A fenti feltételek erre a szerkezetre is igazak. Írjunk programot, ami megadja, hogy legalább hány krajcárt kell elkölteni az átalakításra. A standard bemenet első sora az alkalmazottak számát és egy új alkalmazott felvételének költségét tartalmazza. A második sor egész számot tartalmaz, az -edik szám , vagyis az -edik alkalmazott végkielégítése. A harmadik sor számot tartalmaz, az -edik szám az -edik beosztott felettesének a száma. A negyedik és ötödik sor az átalakítás után elérni kívánt struktúrát írja le: a negyedikben az alkalmazottak kívánt száma található, míg az ötödikben egész szám írja le a feletteseket a harmadik sorhoz hasonló módon. A standard kimenet első és egyetlen sora tartalmazza az átalakítás minimális költségét. Korlátok: , ; , ; időlimit: 0,2 mp; memórialimit: 256 MB. A verem (stack) méretére nincs külön korlát, ez is a teljes memóriába számít bele.
Magyarázat: elbocsátjuk a 5-ös számú alkalmazottat, és a 4-es számú alá felveszünk két új beosztottat. Ekkor a költség . Ha átnevezzük a 2-est 3-assá, a 3-ast 2-essé, akkor megkapjuk a kívánt struktúrát. 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 a fenti korlátoknak megfelelően. Beküldendő egy tömörített s109.zip állományban a program forráskódja, valamint a program rövid dokumentációja, amely a fentieken túl megadja, hogy a forrás mely fejlesztői környezetben fordítható. |