Feladat: I/S.32 Korcsoport: - Nehézségi fok: -
Füzet: 2019/január, 39 - 40. oldal  PDF  |  MathML 

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 iskolai könyvtárban összesen M darab számítógép van. Egy nap N diák előre megadta, hogy melyik időpillanattól melyik időpillanatig szeretne használni egy gépet. Tegyük fel, hogy egy diák az a1 időpillanattól a b1 időpillanatig szeretne gépezni, egy másik pedig a2-től b2-ig. Ők csak akkor használhatják ugyanazt a gépet, hogyha b1<a2 vagy b2<a1. Ha egy diák nem tud használni egy gépet sem a teljes kért időtartam alatt, akkor a könyvtárosnak el kell utasítania a kérését. Mivel csak M gép van, így nem biztos, hogy mindenkinek lesz szabad gépe. A könyvtáros szeretne a lehető legkevesebb diáknak nemet mondani. Segítsünk neki egy programmal, amely megadja, hogy legkevesebb hány diáknak és kiknek kell nemet mondania.
Bemenet: Az első sor tartalmazza a diákok N számát és a gépek M számát. A diákokat 0-tól N-1-ig indexeljük. A következő N sor mindegyike egy a és egy b számot tartalmaz, amely leírja, hogy az adott diák mettől meddig szeretne gépezni.
Kimenet: Az első sor tartalmazza azt a minimum számot, ahány diáknak nemet kell mondani. A következő sor tartalmazza azon diákok indexét növekvő sorrendben, akiknek nemet kell mondani. Több lehetséges megoldás, vagyis azonos számú elutasított diák esetén a legkisebb indexű diákokat fogadja a könyvtáros.

 
Példa bemenet  (a  /  jel sortörést helyettesít)Példa kimenet   5 3   1   5 9 / 10 18 / 6 15 / 14 21 / 8 164   
 

Korlátok: 1N,M105, 0a,b109, egy diákra: a<b.
Időkorlát: 0,5 mp.
Értékelés: A pontok 20%-a kapható, ha NM106; további 20% kapható, ha b-a=1 minden diákra; további 20% kapható, ha a,b106 minden diákra; további 40% kapható az eredeti korlátokra.
Beküldendő egy is32.zip tömörített állományban a megfelelően dokumentált és kommentezett forrásprogram, amely tartalmazza a megoldás lépéseit, valamint megadja, hogy melyik fejlesztő környezetben futtatható.