Не так много задач на динамическое программирование разобрано на канале, давайте исправляться. Условие: Разнообразные входные данные, но ограничения не очень большие. Должна легко решать на языке Python. Так как олимпиада должна помещаться в один месяц, а размер месяца всего лишь до 100000, то можно завести массив такого размера и пометить все дни, в которые проводить олимпиаду нельзя. Давайте так и сделаем. Считывание первого блока входных данных очень простое: После этого идёт список еженедельных выходных, заданных номерами дней недели. Заведём список с нулями на каждый день месяца и каждый выходной пометим числом -1 в этом списке (для этого достаточно пройтись по списку с шагом w): В шестой строке есть формула нахождения первого дня месяца по дню недели. Когда в задачах встречается кольцо вычетов (вычисления с остатками от деления), удобно нумеровать с нуля. Так и я предполагаю здесь, что дни недели и дни месяца нумеруются с нуля (поэтому и список на n элементов, а не на n + 1). С р
Задача 638. Всероссийская олимпиада по информатике
1 мая 20201 мая 2020
315
2 мин