Олимпиадный тренинг

Задача . F. Две пиццы


Компания из \(n\) друзей хочет заказать ровно две пиццы. Известно, что всего в природе существует \(9\) ингредиентов для пиццы, которые обозначаются целыми числами от \(1\) до \(9\).

У каждого из \(n\) друзей есть один или более любимых ингредиентов: у \(i\)-го из друзей количество любимых ингредиентов равно \(f_i\) (\(1 \le f_i \le 9\)) и любимые ингредиенты составляют последовательность \(b_{i1}, b_{i2}, \dots, b_{if_i}\) (\(1 \le b_{it} \le 9\)).

На сайте сети ресторанов CodePizza есть \(m\) (\(m \ge 2\)) предложений различных пицц. Каждая пицца характеризуется набором из \(r_j\) ингредиентов \(a_{j1}, a_{j2}, \dots, a_{jr_j}\) (\(1 \le r_j \le 9\), \(1 \le a_{jt} \le 9\)), которые в неё входят, и своей ценой \(c_j\).

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

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

В первой строке входных данных записаны два целых числа \(n\) и \(m\) (\(1 \le n \le 10^5, 2 \le m \le 10^5\)) — количество друзей в компании и количество пицц, соответственно.

Далее в \(n\) строках заданы описания любимых ингредиентов друзей: \(i\)-я из них содержит количество любимых ингредиентов \(f_i\) (\(1 \le f_i \le 9\)) и последовательность различных целых чисел \(b_{i1}, b_{i2}, \dots, b_{if_i}\) (\(1 \le b_{it} \le 9\)).

Далее в \(m\) строках заданы описания пицц: \(j\)-я из них содержит целочисленную цену пиццы \(c_j\) (\(1 \le c_j \le 10^9\)), количество ингредиентов \(r_j\) (\(1 \le r_j \le 9\)) и сами ингредиенты — последовательность различных целых чисел \(a_{j1}, a_{j2}, \dots, a_{jr_j}\) (\(1 \le a_{jt} \le 9\)).

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

Выведите два целых числа \(j_1\) и \(j_2\) (\(1 \le j_1,j_2 \le m\), \(j_1 \ne j_2\)) — номера двух пицц в искомом наборе. Если решений несколько, выведите любое из них. Пиццы можно выводить в любом порядке.


Примеры
Входные данныеВыходные данные
1 3 4
2 6 7
4 2 3 9 5
3 2 3 9
100 1 7
400 3 3 2 5
100 2 9 2
500 3 2 9 5
2 3
2 4 3
1 1
1 2
1 3
1 4
10 4 1 2 3 4
20 4 1 2 3 4
30 4 1 2 3 4
1 2
3 1 5
9 9 8 7 6 5 4 3 2 1
3 4 1 2 3 4
1 4 5 6 7 8
4 4 1 3 5 7
1 4 2 4 6 8
5 4 1 9 2 8
2 4

time 4000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя