e-olymp
Задачи

Козленок, который учился считать

Козленок, который учился считать

prb4483

Козленок работает контроллером на кораблике-пароме. Его задача следить, чтобы паром не утонул от превышения грузоподъемности. Сегодня на кораблик осталось всего два билета, кроме того кораблик может выдержать дополнительно еще k килограмм. В этом лесу всего одна длинная дорога, вдоль которой живут звери. Помогите козленку узнать, сможет ли он на определенном участке леса найти двух пассажиров.

Входные данные

В первой строке содержится два числа n (2n106) и k (1k109), количество зверей в лесу и оставшаяся грузоподъемность парома соответственно. Во второй строке находится n чисел - массы каждого из зверей. Далее следует количество запросов m. В следующих m (1m105) строках находится по три числа - тип запроса, l и r (если тип запроса 1, то 1l < rn, иначе 1ln, 1r109).

Выходные данные

Для каждого запроса типа 1 выведите строку "Yes", если козленок сможет найти двух пассажиров на промежутке [l, r] и "No", если не сможет. Каждый запрос типа 2 означает, что зверь под номером l изменил свою массу и теперь весит r килограмм.

Лимит времени 1 секунды
Лимит использования памяти 128 MiB
Входные данные #1
6 9
1 3 1 6 6 7
8
1 1 6
1 1 2
2 4 7
1 4 5
1 5 6
2 1 7
2 3 8
1 1 6
Выходные данные #1
Yes
Yes
No
No
Yes
Автор Александр Бурков
Источник Дистанционная Летняя Компьютерная Школа - лето 2013 года