Программирование, паскаль/питон
на фкн вшэ после 2 курса студенты выбирают себе специализацию. каждый студент составляет список приоритетов специализаций, на которые он хотел бы попасть. кроме того, у каждого студента есть его позиция в рейтинге (зависит от среднего за время обучения, у некоторых студентов позиция может совпадать). на каждой специализации есть максимальное количество студентов, которые могут быть на неё приняты.
справедливо распределить студентов в соответствие с их пожеланиями. необходимо чтобы для каждого студента выполнялось следующее утверждение: после распределения студента на специализацию на более приоритетных для него специализациях не должно быть ни одного студента, с позицией в рейтинге больше чем у него. при этом из всех распределений необходимо выбрать такое, в котором наибольшее число студентов было распределено по специализациям.
формат входных данных
в первой строке задается два числа: n и k (1 ≤ n, k ≤ 1) — количество студентов и специализаций соответственно.
в следующей строке задается k натуральных чисел si (1 ≤ si ≤ 1), где si — количество студентов, которые готова принять специализация номер i.
в следующих n строках содержится описание приоритетов для каждого из студентов. описание состоит из числа r (1 ≤ r ≤ n) — позиции студента в рейтинге, числа t (1 ≤ t ≤ n) — количества желаемых специализаций и t чисел от 1 до k — номера желаемых специализаций в порядке убывания приоритета. номера специализаций не повторяются. гарантируется, что сумма t для всех студентов не превосходит 106.
формат результата
для каждого из n студентов выведите номер специализации, на которую он будет распределен. в случае, если на всех желаемых специализациях все места заняты студентами с более высокой позицией в рейтинге, то для студента следует вывести число -1. если правильных ответов несколько — выведите любой из них.
284
448
Ответы на вопрос:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
soffi200608.03.2021 05:20
-
gorodchikova2306.04.2021 05:17
-
crasavchik05.03.2022 03:06
-
katenok170609.02.2023 00:24
-
адина5609.06.2021 15:30
-
gennadih9015.04.2023 16:38
-
007ek13.01.2022 09:36
-
Klimka08109829.01.2020 03:34
-
Uoywex27.08.2022 18:55
-
igoralekseev203.04.2022 14:35
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.