11213. Дорожні роботи


Відправити розв'язок

Бали: 100
Time limit: 3.0s
Memory limit: 250M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Існує нескінченно довга вулиця, що йде із заходу на схід, яку ми розглядаємо як числову пряму.

На цій вулиці заплановані \(N\) дорожні роботи. \(i\)-а дорожня робота блокує точку з координатою \(X_i\) від часу \(S_i - 0.5\) до часу \(T_i - 0,5\). \(Q\) людей стоять у точці з координатою 0. \(i\)-та людина почне йти з координати 0 у момент \(D_i\), продовжуватиме йти зі швидкістю 1 у додатному напрямку та зупиниться, досягнувши заблокованої точки.

Знайдіть відстань, яку пройде кожен із \(Q\) людей.

Формат вхідних даних

Перший рядок вхідного потоку містить цілі числа \(N,Q\) (\(1 \le N,Q \le 2 \times 10^5\)).

Наступні \(N\) рядків містять цілі числа \(S_i, T_i, X_i\) (\(0 \le S_i \le T_i \le 10^9\), \(1 \le X_i \le 10^9\). Якщо \(i \neq j\) і \(X_i=X_j\) то проміжки [\(S_i,T_i\)) та [\(S_j,T_j\)) не перекриваються.

Наступні \(Q\) рядків містять цілі числа \(Q_i\) (\(0 \le D_1 < D_2 < ... < D_Q \le 10^9\))

Формат вихідних даних

У вихідний потік виведіть \(Q\) рядків. В \(i\)-му рядку має бути відстань, яку пройде \(i\)-та людина, або -1, якщо ця людина не зупиниться.

Примітка

Перша людина починає йти з координати 0 в момент 0 і зупиняється з координатою 2, досягнувши точки, заблокованої першими дорожніми роботами в момент 2.

Друга людина починає йти з координати 0 в момент 1 і досягає координати 2 в момент 3. Перші дорожні роботи закінчилися, але четверта дорожня робота розпочалася, тому ця людина також зупиняється на координаті 2.

Четверта і шоста людини під час ходьби не стикаються з дорожніми роботами, тому вони не зупиняються.

Приклад вхідних даних

4 6
1 3 2
7 13 10
18 20 13
3 4 2
0
1
2
3
5
8

Приклад вихідних даних

2
2
10
-1
13
-1

Коментарі

Ще немає коментарів.