Премия за четверть: распределение без перегруза

тема: Конструктив · уровень: средний

В школе учитель информатики раздаёт m бонусных баллов за четверть между n учениками.

Про каждого ученика i заранее известно:

Учитель хочет раздать ровно m баллов так, чтобы максимум среди выданных баллов был как можно меньше. Если оптимальных распределений несколько, учитель выбирает то, где последовательность (x_1, x_2, ..., x_n) лексикографически минимальна.

Лексикографически минимальна — значит при сравнении двух распределений смотрим слева направо: где впервые различаются, там меньше то, у которого меньше число.

Формат ввода

Первая строка: два целых числа n и m. Вторая строка: n целых чисел l_1 ... l_n. Третья строка: n целых чисел u_1 ... u_n.

Формат вывода

Выведите n целых чисел x_1 ... x_n — выбранное распределение.

Ограничения

Пример

Ввод:

5 17
2 1 3 0 2
5 6 10 4 7

Вывод:

2 3 4 4 4

Решить задачу с автопроверкой на Python →