Пробежки без записи в справочнике

тема: Связывание таблиц · уровень: средний

Условие

В дневнике бегуна каждая строка описывает одну тренировку. В ней указан идентификатор тренировки, код спортсмена и длина пробежки в метрах.

Отдельно дан справочник спортсменов. Строка тренировки считается не имеющей пары в справочнике, если её код спортсмена не встречается среди кодов справочника. Код - означает, что код спортсмена в дневнике не указан, и такая строка также не имеет пары.

Требуется найти количество строк тренировок без пары в справочнике и суммарную длину таких тренировок. Если множество таких строк пусто, оба результата равны нулю. Формально, для множества непарных строк U нужно вывести |U| и sum(distance_m для всех строк из U).

Формат ввода

В первой строке заданы два целых числа n и m — число строк дневника и число строк справочника.

В следующих n строках записаны три значения: session_id, runner_code, distance_m — идентификатор тренировки, код спортсмена и длина пробежки в метрах.

В следующих m строках записаны два значения: runner_code, runner_name — код и имя спортсмена из справочника.

Формат вывода

Выведите два целых числа через пробел: количество непарных строк дневника и сумму длин пробежек в этих строках в метрах.

Округление не применяется: оба числа выводятся точно как целые. Правило при равенстве не требуется, так как нужно вывести числовые сумму и количество, а не выбирать объект.

Ограничения

1 <= n <= 1999, 1 <= m <= 1999, n + m <= 2000.

session_id состоит из латинских букв, цифр и символа _, его длина от 1 до 20. Все идентификаторы тренировок различны.

runner_code в дневнике — строка длиной от 1 до 20 из латинских букв, цифр и символа _ либо ровно символ -.

runner_code в справочнике состоит из латинских букв, цифр и символа _, имеет длину от 1 до 20 и не равен -. Коды в справочнике не повторяются.

runner_name состоит из латинских букв, цифр и символа _, его длина от 1 до 30. 1 <= distance_m <= 100000.

Пример

Решить задачу с автопроверкой на Python →

Куда дальше