Codeforces Round 988 (Div. 3) |
---|
Закончено |
Муалани любит серфинг на своей акульей доске!
Путь серфинга Муалани можно смоделировать с помощью числовой прямой. Она начинает с позиции $$$1$$$, а путь заканчивается на позиции $$$L$$$. Когда она находится в позиции $$$x$$$ с силой прыжка $$$k$$$, она может прыгнуть в любую целую позицию в интервале $$$[x, x+k]$$$. Изначально ее сила прыжка равна $$$1$$$.
Однако ее путь серфинга не совсем гладкий. На ее пути есть $$$n$$$ препятствий. Каждое препятствие представлено отрезком $$$[l, r]$$$, что означает, что она не может прыгнуть на любую позицию в отрезке $$$[l, r]$$$.
Также на определенных позициях на пути есть $$$m$$$ усилений. Усиление $$$i$$$ расположено на позиции $$$x_i$$$ и имеет значение $$$v_i$$$. Когда Муалани находится на позиции $$$x_i$$$, она может собрать усиление, чтобы увеличить свою силу прыжка на $$$v_i$$$. На одной и той же позиции может быть несколько усилений. Когда она находится на позиции с несколькими усилениями, она может выбрать, взять или игнорировать каждое отдельное усиление. Ни одно усиление не находится в отрезке любого препятствия.
Каково минимальное количество усилений, которые она должна собрать, чтобы достичь позиции $$$L$$$ и завершить путь? Если завершить путь невозможно, выведите $$$-1$$$.
Первая строка содержит целое число $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора входных данных содержит три целых числа $$$n$$$, $$$m$$$ и $$$L$$$ ($$$1 \leq n, m \leq 2 \cdot 10^5, 3 \leq L \leq 10^9$$$) — количество препятствий, количество усилений и позицию конца.
Следующие $$$n$$$ строк содержат по два целых числа $$$l_i$$$ и $$$r_i$$$ ($$$2 \leq l_i \leq r_i \leq L-1$$$) — границы отрезка для $$$i$$$-го препятствия. Гарантируется, что $$$r_i + 1 < l_{i+1}$$$ для всех $$$1 \leq i < n$$$ (т.е. все препятствия не перекрываются, отсортированы по возрастанию позиций, и конец предыдущего препятствия не является последовательным с началом следующего препятствия).
Следующие $$$m$$$ строк содержат по два целых числа $$$x_i$$$ и $$$v_i$$$ ($$$1 \leq x_i, v_i \leq L$$$) — позицию и значение для $$$i$$$-го усиления. На одной и той же позиции $$$x$$$ может быть несколько усилений. Гарантируется, что $$$x_i \leq x_{i+1}$$$ для всех $$$1 \leq i < m$$$ (т.е. усиления отсортированы по неубывания позиции) и ни одно усиление не находится в отрезке любого препятствия.
Гарантируется, что сумма $$$n$$$ и сумма $$$m$$$ по всем наборам входных данных не превышают $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите минимальное количество усилений, которые она должна собрать, чтобы достичь позиции $$$L$$$. Если это невозможно, выведите $$$-1$$$.
42 5 507 1430 402 23 13 518 222 324 3 504 615 1820 2634 381 28 210 21 4 1710 141 61 21 216 91 2 105 92 32 2
4 -1 1 2
В первом наборе входных данных она может собрать усиления $$$1$$$, $$$2$$$, $$$3$$$ и $$$5$$$, чтобы преодолеть все препятствия.
Во втором наборе входных данных она не может перепрыгнуть первое препятствие.
В четвертом наборе входных данных, собрав оба усиления, она сможет перепрыгнуть препятствие.
Название |
---|