48. Оценка разнообразия

Не решаласьЛёгкая

Выдача бывает полезной, бывает информативной, а бывает разнообразной.

Разработайте алгоритм подсчета разнообразия списка товаров.

Дана выборка товаров из разных категорий: productiproduct_{i}, categoryicategory_{i} - идентификатор продукта и его категория.

Разнообразием списка товаров назовем величину равную минимальной разности позиций товаров одной категории. Если все товары различной категории, то разнообразие будет равно количеству товаров в списке.

Формат ввода

В первой строке записано одно целое число nn (1n1000001 \le n \le 100\,000) - количество товаров в списке.

Далее в каждой из nn строк записано по два целых числа productiproduct_{i} и categoryicategory_{i} (0producti,categoryi2300 \le product_{i}, category_{i} \le 2^{30}) - id продукта и его категория.

В последней строке дана перестановка величин productidproduct_{id} - порядок товаров в списке.

Гарантируется, что все величины productidproduct_{id} различны.

Числа в строках разделены одиночными пробелами.

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

Выведите одно число, равное значению вычисленного разнообразия списка товаров.

Ограничения

Ограничение времени

2 с

Ограничение памяти

256 МБ

Пример 1

Ввод
5
1 1
2 1
3 1
4 2
5 2
1 4 2 5 3
Вывод
2

Пример 2

Ввод
9
0 1
2 1
3 1
4 2
5 2
6 2
7 3
8 3
999 3
0 4 7 2 5 8 3 6 999
Вывод
3

Пример 3

Ввод
5
1 1
2 2
3 3
4 4
5 5
1 2 3 4 5
Вывод
5
Нужно войти, чтобы отправить решение.Войти