eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Троє з Простоквашино 2

Троє з Простоквашино 2

\includegraphics{https://static.e-olymp.com/content/c0/c08bdcda603706ed03c55a2f4da4efa0800e0268.jpg} - \textit{Матроскін, а я дерево відрізків навчився будувати.} - \textit{Шарик, краще б ти будку нову побудував, ніж усякі дурниці.} - \textit{Ну Матроскін, ну я вже і Дядьку Федору код показував, можеш подивитись у попередній задачі, а тобі нову функцію покажу -- внесення змін.} \textbf{int update(int v, int left, int right, int pos, int val) \{} \textbf{if (left == right) \{} \textbf{t\[v\] = val;} \textbf{return 0;} \textbf{\}} \textbf{int mid = (left+right) / 2;} \textbf{if (pos <= mid)} \textbf{update(v*2, left, mid, pos, val);} \textbf{else} \textbf{update(v*2+1, mid+1, right, pos, val);} \textbf{t\[v\] = max(t\[v*2\], t\[v*2+1\]);} \textbf{return 0;} \textbf{\}} - \textit{Ну ладно, Шарик, раз ти вже функцію написав, то слухай. Я тобі дам масив, який складається з }\textbf{N}\textit{ невід'ємних чисел та множину запитів одного з двох типів: якщо тип запиту дорівнює одиниці, то далі буде йти одне число }\textbf{p}\textit{, і тобі необхідно знайти таких два числа }\textbf{l}\textit{ та }\textbf{r}\textit{ (}\textbf{1 }≤ \textbf{l} ≤ \textbf{r} ≤ \textbf{N}\textit{), що функція, викликана наступним чином} \textbf{get_max(1, 1, N, l, r)} \textit{поверне значення рівне} \textbf{p},\textit{ якщо таких пар декілька, виведи таку, у якій мінімальне число} \textbf{l}, якщо\textit{ і таких декілька, вмведи з них ту, де мінімальне} \textbf{r}. \textit{Якщо таких пар немає, виведи рядок} "\textbf{Error}". Якщо\textit{ ж тип запиту дорівнює двом, то далі йде два числа} \textbf{x}, \textbf{y} \textit{і необхідно запустити функцію наступним чином} \textbf{update(1, 1, N, x, y)} \textit{Справишся з такою задачею? Можна вважати, що на самому початку була викликана функція} \textbf{build(1, 1, N)} \textit{з попередньої задачі.} - \textit{Спробую, Матроскін.} \InputFile Перший рядок містить єдине число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{10^6}) -- кількість елементів у масиві. У другому рядку знаходиться \textbf{N} невід'ємних чисел, які не перевищують \textbf{10^9} -- елементи масиву. Далі йде число \textbf{M} (\textbf{1} ≤ \textbf{M }≤ \textbf{10^5}) -- кількість запитів. І потім \textbf{М} рядків, кожен з яких містить перше число -- тип запиту, а далі опис запиту, який складається з одного чи двох чисел. \OutputFile Для кожного запиту з типом \textbf{1} виведіть відповідь до задачі.
Ліміт часу 10 секунд
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
5
1 2 3 4 5
5
1 2
1 5
2 1 7
1 3
1 6
Вихідні дані #1
1 2
1 5
2 3
Error
Автор Олександр Бурков
Джерело Дистанційна Літня Комп`ютерна Школа - літо 2013 року