Монокарп — самый известный вор в Берляндии. В этот раз он решил украсть два бриллианта. К несчастью для Монокарпа, за бриллиантами следят $$$n$$$ камер. У каждой из камер есть два параметра $$$t_i$$$ и $$$s_i$$$. Первый параметр определяет, следит ли камера только за первым бриллиантом ($$$t_i=1$$$), только за вторым ($$$t_i=2$$$), или за обоими ($$$t_i=3$$$). Второй параметр определяет количество секунд, которое камера будет отключена после ее взлома.
Монокарп каждую секунду может выполнять одно из трех действий:
Обратите внимание, что Монокарп может взламывать камеру повторно, даже если она отключена.
Ваша задача — определить минимальное время, за которое Монокарп украдет сначала первый бриллиант, а затем второй, или сообщить, что это невозможно.
Первая строка содержит одно целое число $$$n$$$ ($$$0 \le n \le 1500$$$) — количество камер.
Далее следует $$$n$$$ строк, $$$i$$$-я из них содержит два целых числа $$$t_i$$$ и $$$s_i$$$ ($$$1 \le t_i \le 3$$$; $$$1 \le s_i \le 2n$$$) — параметры $$$i$$$-й камеры.
Выведите одно целое число — минимальное время, за которое Монокарп украдет сначала первый бриллиант, а затем второй. Если это невозможно, выведите -1.
4 2 6 1 2 1 2 2 1
6
4 2 8 3 2 3 2 3 5
9
2 3 2 2 3
4
1 3 1
4
8 2 1 2 2 3 5 3 6 1 2 1 3 1 4 1 5
11
Название |
---|