EduBrick

G. Ближайшее большее справа

2000 мс · 256 МБ · всё или ничего

Дан массив. Запросы: присвоить ai=xa_i = x и найти наименьший индекс k≥ik \ge i, для которого ak≥xa_k \ge x.

Второй вид спуска — с отсечением.

Формат ввода

В первой строке nn и mm (1≤n,m≤2⋅1051 \le n, m \le 2 \cdot 10^5). Во второй — nn чисел aia_i (0≤ai≤2⋅1050 \le a_i \le 2 \cdot 10^5). В каждой из следующих mm строк — три числа tt, ii, xx. Если t=0t = 0, присвоить ai=xa_i = x; если t=1t = 1, найти наименьший k≥ik \ge i с ak≥xa_k \ge x. Здесь 1≤i≤n1 \le i \le n, 0≤x≤2⋅1050 \le x \le 2 \cdot 10^5.

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

Для каждого запроса с t=1t = 1 выведите на отдельной строке искомый индекс или −1-1, если его нет.

Примеры

ввод
4 5
1 2 3 4
1 1 1
1 1 3
1 1 5
0 2 3
1 1 3
вывод
1
3
-1
2
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.