Ограничения: время – 3s/6s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Интернет-провайдер предоставляет доступ в Интернет через многоканальный телефон. Когда модем клиента звонит на этот номер,
АТС соединяет его с любым из свободных каналов (если он есть).
На каждом канале ведется журнал событий. В нем указан моменты подключения и освобождения канала. Время считается в секундах, прошедших от начала работы провайдера.
Подключение следующего клиента происходит не ранее чем через 1с после отключения предыдущего.
Провайдеру необходимо выяснить, сколько времени на определенном интервале времени все каналы были свободны или все заняты.
В первой строке ввода содержится одно целое число `N` (`1\ ≤\ N\ ≤\ 50`) – число каналов. Далее следует `N` журналов событий. Сначала строка содержащая одно целое число `K_i`
(`0\ ≤\ K_i\ ≤\ 5000`) – количество подключений в журнале `i`-го канала, затем `K_i` строк, содержащих два целых числа `t_1` и `t_2`
(`0\ ≤\ t_1\ <\ t_2\ ≤\ 10^9`). Далее следует строка, содержащая одно целое число `M` (`1\ ≤\ M\ ≤\ 100`) – число запросов на получение информации.
Следущие `M` строк содержат два целых числа `T_1` и `T_2` (`0\ ≤\ T_1\ <\ T_2\ ≤\ 10^9`).
В выходной файл программа должна вывести для каждого из `M` запросов одну строку, содержащую два целых числа – сколько секунд в интервале `(T_1,T_2)` все каналы были свободны и сколько секунд все каналы были заняты.
Пример ввода
2
2
1 4
6 11
3
3 5
7 8
9 10
2
0 4
5 15