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

Упаковка коробок

Упаковка коробок

Жарасхан много работает в Facegle. Но после того, как мы анонсировали KBTU Open 2021 весной, он решил возвратиться в Алматы чтобы помочь в подготовке. Традиционно, когда люди приезжают за границу, они привозят подарки. Итак, Жарасхан приготовил n коробок, i - ую размером ai * bi (высота не имеет значения), чтобы n людей стали счастливыми.

Оказывается, правила воздушного транспорта не допускают больше k ящиков на человека за рейс. Что придумал Жарасхан, так это то, что он может класть коробку в другую коробку (предметы затем помещаются в самую глубокую коробку), если подходят размеры. Например, если имеются 3 коробки 2 * 2, 2 * 4 и 5 * 5, он может поместить первую во вторую, а затем вторую (которая уже содержит первую) внутрь третьей. В целях безопасности Жарасхан не может поместить два отдельных ящика в один ящик (но может помещать ящик, содержащий ящик, в другой ящик, который не содержит ящика). Очень похоже на матрешку.

Помогите Жарасхану сделать счастливыми как можно больше людей, зная правила перевозки воздушным транспортом.

Входные данные

Первая строка содержит два целых числа n и k (1n105, 1k100).

В следующих n строках i-ая строка содержит два целых числа ai и bi (1ai, bi109).

Выходные данные

Выведите единственное целое число - максимальное количество ящиков, которое Жарасхан может взять с собой, упаковав все k ящиков.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
4 1
2 2
4 2
3 4
5 5
Выходные данные #1
3
Входные данные #2
4 2
2 2
4 2
3 4
5 5
Выходные данные #2
4
Источник 2021 KBTU Open, Весна Казахстан, Алма-Ата, 30 мая, Задача D