Статистика незарегистрированных шахматистов

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

Условие

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

Отдельно хранится справочник зарегистрированных шахматистов. Запись статистики считается не сопоставленной со справочником, если её код шахматиста отсутствует среди кодов справочника.

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

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

Формат ввода

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

В следующих n строках находятся три значения: код турнира event_code, код шахматиста player_code и целое изменение рейтинга rating_delta.

В следующих m строках находится по одному коду шахматиста из справочника.

Затем дано целое число q — количество значений в запросе. В следующих q строках находятся коды турниров из запроса.

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

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

Дробная часть отсутствует: оба выводимых значения являются целыми числами.

Если среди записей турниров из запроса нет не сопоставленных со справочником, выведите 0 0.

Ограничения

1 ≤ n ≤ 2000.

1 ≤ m ≤ 2000.

1 ≤ q ≤ 2000.

Длина каждого кода турнира и кода шахматиста составляет от 1 до 20 символов. Коды состоят из латинских букв, цифр и символа _.

-500 ≤ rating_delta ≤ 500.

Коды могут повторяться как в статистике, так и в справочнике и запросе.

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

Куда дальше