Codeforces Round 966 (Div. 3) |
---|
Закончено |
У вас есть $$$n$$$ прямоугольников, $$$i$$$-й из которых имеет ширину $$$a_i$$$ и высоту $$$b_i$$$.
Вы можете неограниченное количество раз выполнить следующую операцию: выбрать прямоугольник и клетку в нём, а затем закрасить её.
Каждый раз, когда вы закрашиваете целиком какую-либо строку или столбец, вы получаете $$$1$$$ балл. Ваша задача — набрать хотя бы $$$k$$$ баллов за как можно меньшее число операций.
Допустим, у вас есть прямоугольник ширины $$$6$$$ и высоты $$$3$$$. Вы можете набрать $$$4$$$ очка, закрасив все клетки в $$$4$$$-х любых столбцах, выполнив таким образом $$$12$$$ операций.
Первая строка содержит целое число $$$t$$$ ($$$1 \le t \le 100$$$) — количество наборов входных данных. Далее следуют описания наборов входных данных.
Первая строка описания каждого набора входных данных содержит два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 1000, 1 \le k \le 100$$$) — количество прямоугольников в наборе и требуемое количество баллов.
Следующие $$$n$$$ строк содержат описания прямоугольников. $$$i$$$-я строка содержит два целых числа $$$a_i$$$ и $$$b_i$$$ ($$$1 \le a_i, b_i \le 100$$$) — ширину и высоту $$$i$$$-го прямоугольника.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$1000$$$.
Для каждого набора входных данных выведите одно целое число — минимальное количество операций, необходимое для того, чтобы набрать хотя бы $$$k$$$ очков. Если набрать хотя бы $$$k$$$ очков невозможно, выведите -1.
71 46 31 54 45 101 11 11 11 11 12 1001 25 63 112 23 34 43 259 24 38 104 185 48 58 36 2
12 14 5 -1 17 80 35
Название |
---|