В каждой масти, если мы скидываем t карт, 0 <= t <= k, мы можем посчитать, сколько карт нам нужно будет добрать, чтобы эта масть стала хорошей.

Теперь напишем ДП: f(i, j) -- минимальное число карт, которое нужно будет добрать, если среди первых i мастей мы скинем j карт.
Для переходов перебираем t в очередной масти.

Состояний O(N^2), и переходы не за константу, но суммарное число переходов тоже на самом деле O(N^2):
-- если точнее, переходов N умножить на сумму количеств вариантов t (которое равно k+1 для масти размера k).

Ответ -- минимальное такое j, что f(m, j) <= j (где m -- максимальная масть).