Informatika gyűjtemény

Egy szinttel feljebb Felvételi ponthatár

2004050607080910

NézetNyomtat

Felvételi ponthatár

Bergengócia egyetemeire N informatikus szakra jelentkezhetnek a felvételizők, a szakokat sorszámukkal azonosítjuk. Közös felvételi vizsgát tesznek, azaz mindenkinek egyetlen pontszáma van. Minden diák meghatározhatja a felvételi lapján, hogy melyik egyetemre akar kerülni, a szokásos módon prioritási sorrendben. Ezen kívül tudjuk, hogy melyik szakra hányan vehetők fel.
A felvételi ponthatárokat úgy kell megállapítani, hogy teljesüljenek az alábbi feltételek:
  • 60 pont alatt senkit sem lehet felvenni.
  • Minden jelentkező arra a szakra kerül be, amelyik az első a prioritási sorrendjében, amelyen a ponthatár nem nagyobb, mint az ő pontszáma.
  • Minden szakra az így felvett jelentkezők száma nem haladja meg a szakra megadott keretszámot, kivéve azt az esetet, amikor egyel magasabb pontszámmal a szakra a keretszámnál kevesebb kerülne be, ekkor a felvehetők száma a keretszám 110%-a (lefelé kerekítve) lehet.
  • Bármely két, azonos pontszámú jelentkező esetén, ha jelentkeztek ugyanarra a szakra, akkor vagy mindkettőt felvették, vagy egyiket sem vették fel.
  • A ponthatár megállapítás olyan legyen, hogy összességében a lehető legtöbb jelentkezőt vegyenek fel.

Feladat

Írj programot, ami meghatározza, hogy melyik szakon mennyi lesz a felvételi ponthatár (a felvett tanulók pontszámai közül a legkisebb, ha senki nem került be a szakra, akkor 0), és hogy melyik tanuló melyik szakra került be!

Bemenet

A FELVET.BE állomány első sorában a szakok N ($1 \le N \le 100$) és a felvételizők M ($1 \le M \le 9000$) száma van, egy-egy szóközzel elválasztva. A második sorban N db szám van, szintén egy-egy szóközzel elválasztva: minden szakra a maximálisan felvehető diákok száma, a keretszám ($0 \le K(i) \le 1000$). A következő M sorban a diákok adatai vannak: a pontszámuk ($0 \le P \le 120,SZ(j), 1 \le j \le 6$), majd azon szakok sorszáma a jelentkezés sorrendjében, ahova be szeretne kerülni.

Kimenet

A FELVET.KI állomány első sorába N db számot kell írni: az i. szám az i. szakon a felvételi ponthatár, illetve 0, ha egyetlen diákot sem vettek fel. A második sorba M db számot kell írni: az i. szám annak a szaknak a sorszáma, ahová az i. diák bekerült, illetve 0, ha a diákot nem vették fel sehová.

Példa

FELVET.BE FELVET.KI
4 5 1 2 2 3 98 3 2 1 4 81 1 3 2 82 4 92 3 1 0 1 2 3 4 81 0 92 82 3 1 4 3 0

Tesztadatok