Programozó versenyek

DEIK Regionális Programozó Csapatverseny, középiskolai kategória, 2024. december 1.

2024. december 1. 10:00 – 2024. december 1. 15:00

A nagy emberrablás

Az előző feladat szavazását követően a támadók sikerrel elrabolták mindegyik csapat legokosabb tagját, majd katonai szintű memória-módosító eszközökkel módosították a többi résztvevő emlékezetét, hogy ne is emlékezzenek arra, hogy volt +1 csapattagjuk. A támadók célja ezzel nem más, mint egy szuperokos csapat kialakítása az elrabolt emberekből akik segítenek nekik világuralomra törni. Szerencsére amikor a rendszergazdák a korábbi kibertámadás után a backupokból visszaállították a rendszert, észrevették, hogy a logokban minden csapatnál 1-el több fő szerepel, mint amennyi jelen van. Azonban arra vonatkozó információink nincsenek, hogy hova és mennyi időre vitték el őket, ám az egyik támadó véletlenül hátrahagyott egy papírt aminek a segítségével ki lehet számolni, hogy hány napunk van még megmenteni a társunkat mielőtt a memória-módosító technikáknak köszönhetően teljesen az ő oldalukra állítják.

Input

A bemenet két, sor vége jellel lezárt sorból áll:

  • Az első sor két pozitív egész n és m számot tartalmaz, szóközzel elválasztva. Az n értéke mondja meg, hogy a támadóknak mennyi pénz áll rendelkezésre az elrabolt emberek elszállásolására, míg az m értéke mondja meg azt, hogy hány napra van szükségük az elrabolt emberek agyának teljes átprogramozásához.
  • A második sor legfeljebb 100 darab, szóközzel elválasztott pozitív egész szám, melyek 100 különböző szálláshely árát mondják meg (a támadók nem szeretnek sokáig egy helyen maradni).

Output

A kimenet egyetlen pozitív egész, mely az alábbiak szerint alakul ki:

  • Amennyiben a bemenet második sorában (a szálláshelyek árában) van olyan összefüggő, m hosszú részsorozat, melynek összege kisebb-egyenlő, mint n (a rendelkezésükre álló pénzösszeg), úgy írjuk ki a legkisebb összegű ilyen részsorozat összegét.
  • Ha nincs ilyen részsorozat, úgy írjuk ki a leghosszabb olyan összefüggő részsorozat hosszát melynek összege kisebb-egyenlő, mint n
Megjegyzés: ennél a feladatnál lehetőség van "részben helyes" megoldást kapni amennyiben a tesztesetek legalább 50%-ára helyes kimenetet ad a kód.

Példa

Magyarázat

Az első esetben 2 hosszú összefüggő részsorozatot keresünk, mert a támadók 2 napra szeretnének megszállni. Így az összes ilyen összefüggő részsorozat a [3,7] és a [7,6], [6,3]. Az első és utolsó összege belefér a 10-es költségvetésbe, de a legolcsóbb a [6,3]-as, 9 összegű.
A második esetben a költségvetés 50 és 3 napra szeretnének megszállni a támadók. Így a lehetséges összefüggő részsorozatok: [10,40,5], [40,5,8], [5,8,47]. Azonban mindegyiknek az összege meghaladja a költségvetést, így 3 napra nem tudnak megszállni. Viszont látható, hogy például a [10,40], vagy a [40,5], stb. belefér a költségvetésbe, így 2 nap még belefér, ezért itt csak a napok számát, a 2-t adjuk vissza.

Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.