EduBrick

Первый префикс, где набралось

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

Дан массив неотрицательных чисел. Запросы: присвоить элементу новое значение и найти наименьший индекс ii, для которого сумма a1+…+aia_1 + \ldots + a_i не меньше xx.

Ещё один спуск, и здесь особенно видно, зачем он нужен.

Формат ввода

В первой строке nn (1≤n≤1051 \le n \le 10^5). Во второй — nn чисел aia_i (0≤ai≤1090 \le a_i \le 10^9). В третьей — mm (1≤m≤1051 \le m \le 10^5). Далее mm строк: u i x — присвоить ai=xa_i = x (0≤x≤1090 \le x \le 10^9), f x — найти наименьший префикс с суммой не меньше xx (1≤x≤10141 \le x \le 10^{14}).

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

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

Примеры

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