ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

Чемпионат школьников. Март 2001

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

D. Встреча

Ограничение времени: 2.0 секунды
Ограничение памяти: 64 МБ
K друзей решили отпраздновать свою победу на олимпиаде по программированию. Но в связи с повышением цен на билеты возникла следующая проблема: все они живут в разных частях города, поэтому им нужно выбрать место встречи так, чтобы на поездки не пришлось тратить слишком много денег. Вы должны помочь им сделать наилучший выбор.
Пусть остановки пронумерованы целыми числами от 1 до N включительно, а в городе ходит M маршрутов трамвая (все друзья ездят исключительно на трамваях и не ходят пешком между остановками). Для каждого маршрута известны номера составляющих его остановок. Для каждого человека известно, сколько у него денег и есть ли у него проездной на трамвай. Цена билета равна 4 рублям.
Вам требуется найти номер такой остановки, чтобы все могли доехать до неё, и сумма денег, потраченных ими на проезд, была минимальной. Естественно, можно делать пересадки с маршрута на маршрут, но учтите, что каждый раз, делая пересадку, требуется покупать новый билет: друзья зайцами не ездят. За дорогу до места встречи каждый платит сам. Денег на обратную дорогу оставлять не требуется.

Исходные данные

В первой строке даны два целых числа N и M; 1 ≤ N, M ≤ 100. В следующих M строках идёт описание маршрутов трамвая следующим образом: в начале строки находится целое число L (2 ≤ L ≤ 100), задающее число остановок в маршруте. Затем идут L целых чисел, задающих номера остановок в маршруте. Все числа в строке разделены пробелами. Затем следует строка с целым числом K (1 ≤ K ≤ 100). В следующих K строках дана информация для каждого из них, по строке на человека. В начале строки указано целое положительное число, задающее количество денег в рублях у человека. Затем указан номер остановки, до которой он доходит от дома пешком. За ним следует либо число 0, если этот человек не имеет проездного, либо 1, если имеет. Числа в строке разделены пробелами. Никто из друзей не имеет больше 1000 рублей.

Результат

Выведите два числа: номер остановки, на которой друзья должны встретиться (если таких номеров несколько, выведите наименьший), и суммарное количество рублей, затраченное на поездки друзьями. Числа должны быть разделены пробелом. Если друзья не смогут все встретиться на одной остановке, выведите единственное число 0.

Пример

исходные данныерезультат
4 3
2 1 2
2 2 3
2 3 4
3
27 1 0
15 4 0
45 4 0
4 12
Автор задачи: Александр Сомов
Источник задачи: Третье командное соревнование школьников Свердловской области по программированию, 4 марта 2001
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 1085. Встреча