Просмотры по последней карточке фильма

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

Условие

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

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

Требуется посчитать количество почти полных просмотров. Если для фильма из журнала нет ни одной карточки в справочнике, такая попытка не учитывается. Для одного фильма дни обновления его карточек попарно различны, поэтому при выборе последней карточки равенства дат не возникает.

Формально для попытки с числом просмотренных минут w и последней длительностью фильма d она учитывается тогда и только тогда, когда 10 * w >= 9 * d.

Формат ввода

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

В следующих n строках записаны три целых числа viewer_id, film_id, watched_minutes — идентификатор зрителя, идентификатор фильма и число просмотренных минут.

В следующих m строках записаны три целых числа film_id, update_day, duration_minutes — идентификатор фильма, день обновления карточки и длительность фильма в этой версии карточки.

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

Выведите одно целое число — количество почти полных просмотров.

Выводится целое число, округление не применяется.

Ограничения

1 <= n <= 4000.

0 <= m <= 3999.

n + m <= 4000.

1 <= viewer_id <= 10^9.

1 <= film_id <= 10^9.

0 <= watched_minutes <= 10000.

1 <= update_day <= 1000000.

1 <= duration_minutes <= 10000.

Для строк справочника с одинаковым film_id значения update_day различны.

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

Куда дальше