eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Миниатюрный гольф

Миниатюрный гольф

Группа друзей только что сыграла партию в мини-гольф. Поля для мини-гольфа состоят из нескольких лунок. Каждый игрок по очереди играет на каждой лунке, несколько раз ударяя по мячу, пока он не упадет в лунку. Счет игрока на этой лунке --- это количество ударов по мячу. Чтобы некомпетентные игроки не слишком замедляли игру, существует также верхний предел $l$ (положительное целое число) для счета: если игрок ударил по мячу $l$ раз и мяч не упал в лунку, счет для этой лунки записывается как $l$, и ход этого игрока окончен. Общий счет каждого игрока представляет собой просто сумму его очков на всех лунках. Естественно, более низкий балл считается лучшим. Есть только одна проблема: никто из игроков не может запомнить значение целого числа $l$. Они решают, что не будут применять какой-либо верхний предел во время игры, позволяя каждому игроку продолжать игру до тех пор, пока мяч не упадет в лунку. После игры они намерены найти значение $l$ и скорректировать результаты, заменяя любой результат на лунке, превышающий $l$, на $l$. Игра только что закончилась, но игроки еще не нашли $l$. Они задаются вопросом, какие у них наилучшие ранги. В этой задаче ранг игрока --- это количество игроков, которые набрали равное или меньшее общее количество очков после корректировки очков с помощью $l$. Например, если скорректированные очки игроков составляют $3, 5, 5, 4$ и $3$, то их ранги составляют $2, 5, 5, 3$ и $2$ соответственно. Зная очки игроков на каждой лунке, определите наименьший возможный ранг для каждого игрока. \InputFile В первой строке заданы два целых числа $p$ и $h$, где $p~(2 \le p \le 500)$ --- количество игроков, а $h~(1 \le h \le 50)$ --- число лунок. Следующие $p$ строк содержат $h$ натуральных чисел. $j$-е число в $i$-ой строке является результатом игрока $i$ на лунке $j$ и не превышает $10^9$. \OutputFile Выведите строку с минимально возможным рангом для каждого игрока в том же порядке, в котором игроки перечислены во входных данных.
Лимит времени 3 секунды
Лимит использования памяти 128 MiB
Входные данные #1
3 3
2 2 2
4 2 1
4 4 1
Выходные данные #1
1
2
2
Входные данные #2
6 4
3 1 2 2
4 3 2 2
6 6 3 2
7 3 4 3
3 4 2 4
2 3 3 5
Выходные данные #2
1
2
5
5
4
3
Источник 2019 ICPC Финал, Задача J