Mp3PlayerHungarian
From CEOIWiki
July 12-19
|
[edit] MP3 lejátszó
Egy MP3-lejátszón billentyűzár működik, úgy, hogy lezár, ha T-nél több másodpercig nem nyomnak meg billentyűt. Ha lezárt állapotban megnyomnak egy tetszőleges billentyűt, annak hatása csak az, hogy feloldja a billentyűzárat.
Páldául, ha T = 5 és a billentyűzet lezárt állapotban van, akkor ha lenyomjuk az A billentyűt, várunk 3 másodpercet, aztán lenyomjuk a B billentyűt, majd várunk 5 másodpercet, aztán lenyomjuk a C billentyűt, várunk 6 másodpercet, és lenyomjuk a D billentyűt, akkor csak a B és a C váltja ki az eredeti funkciót.
A hangerőt a + és a - billentyűk szabályozzák, növelik, illetve csökkentik 1 egységgel. A hangerő 0 és Vmax közötti egész szám.
Maximális hangerőnél a + billentyű, 0 hangerőnél a - billentyű hatástalan.
Nem ismerjük sem a T, sem a kezdő V1 hangerő értéket. Ezeket kísérlettel szeretnénk meghatározni: N + vagy - billentyű lenyomása után leolvassuk a kijelzőről a V2 hangerőértéket.
[edit] Feladat
Írj olyan programot, amely a kísérleti adatokból meghatározza a legnagyobb T és a hozzá tartozó lehetséges V1 értéket!
[edit] Bemenet
A bemenet első sorában 3, szóközökkel elválasztott egész szám van: a billentyűleütések N száma, a Vmax maximális hangerő és a végén leolvasott V2 hangerő értéke (). A következő N sor mindegyikének első karaktere a + vagy - karakter, majd tőle szóközzel elválasztva a Ci egész szám (), ami a billentyű lenyomásának ideje másodpercben a kezdettől számítva. (azaz Ci < Ci + 1 minden esetén).
[edit] Korlátok
és .
40 pont szerezhető, amikor .
70 pont szerezhető, amikor .
[edit] Kimenet
Ha T akármilyen nagy lehet, akkor az "infinity" szót kell kiírni (idézőjelek nélkül), egyébként a T és a V1 értékét kell kiírni, egy szóközzel elválasztva!
A T, a V1 és a V2 értékre teljesülni kell, hogy ha a billentyűzet kezdetben zárolt és a hangerő értéke V1, majd végrehajtjuk a bemenetben megadott műveleteket, akkor a végén a hangerő V2 lesz. Ha több megoldás is van a legnagyobb T-re, akkor azt kell kiírni, ahol V1 a lehető legnagyobb.
(Megjegyezzük, hogy mindig van olyan T és V1, amelyek esetén a V2 végső hangerő elérhető: T = 0 és V1 = V2.)
[edit] Példák
input:
6 4 3 - 0 + 8 + 9 + 13 - 19 - 24
output:
5 4
T = 5 esetén a billentyűk hatása: nyit, nyit, +, +, nyit, -.
Minden esetén V2 = 3 lesz. Ezért a kimenet a legnagyobb V1-et tartalmazza.
Ha , akkor az utolsó 2 billentyűlenyomás aktív lenne, ezért nem érhető el a V2 = 3.
input:
3 10 10 + 1 + 2 + 47
output:
infinity
Ha V1 = 10 akkor minden T-re V2 = 10.