Доля взносов категории в забеге

тема: Таблицы: фильтр и группировка · уровень: базовый

Условие

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

Во второй таблице приведены результаты забега. Запись со статусом FINISHED означает, что участник финишировал и его взнос учитывается в выручке забега. Записи со статусами DNF и DNS в выручке не учитываются. Если номера участника нет во второй таблице, считается, что он не стартовал, и его взнос также не учитывается.

Требуется найти долю выручки указанной категории среди всей выручки финишировавших участников в процентах. Если S_cat — сумма взносов финишировавших участников указанной категории, а S_all — сумма взносов всех финишировавших участников, то требуется вывести значение 100 * S_cat / S_all.

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

Формат ввода

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

Во второй строке дано название категории, для которой нужно вычислить долю выручки.

В следующих n строках находятся данные регистрации в формате: bib category fee

Здесь bib — номер участника, category — название его категории, fee — размер стартового взноса.

В следующих m строках находятся результаты в формате: bib status

Здесь bib — номер участника, status — один из статусов FINISHED, DNF, DNS.

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

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

Ограничения

1 ≤ n ≤ 1000.

1 ≤ m ≤ n.

1 ≤ bib ≤ 1 000 000.

Номера bib в таблице регистрации различны.

Каждый номер из таблицы результатов присутствует в таблице регистрации и встречается в таблице результатов не более одного раза.

0 ≤ fee ≤ 100 000.

Длина названия category составляет от 1 до 20 символов. Название состоит из латинских букв, цифр и символа _.

В качестве status используются только значения FINISHED, DNF, DNS.

Сумма взносов финишировавших участников положительна.

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

Куда дальше