Запити
У вас є масив a довжиною n. Вам дають q запитiв двох типiв:
змiнити p-те число в масивi a на v;
знайти p-те число в масивi a.
####Протокол взаємодiї
Вам потрiбно реалiзувати три функцiї:
void init(integer n, array of integers a)
n — довжина масиву;
a — масив цiлих чисел;
ця функцiя викликається першою лише один раз. Вона потрiбна для того,щоб повiдомити вам розмiр масиву та сам масив. Лише пiсля виклику цiєїфункцiї, будуть викликатись iншi двi.
void upd(integer p, integer v)
p — позицiя;
v — нове число;
ця функцiя викликається, коли потрiбно задати запит першого типу.
integer ask(integer p)
p — позицiя;
ця функцiя викликається, коли потрiбно задати запит другого типу;
функцiя має повернути цiле число—вiдповiдь на запит.
Вхідні дані
Перший рядок мiстить два цiлих числа n та m (1 ⩽ n ⩽ 100, 1 ⩽ m ⩽ 1 000) — довжина масиву та кiлькiсть запитiв.
Другий рядок мiстить n цiлих чисел a[1]
; a[2]
; : : : ; a[n]
(1 ⩽ a[i]
⩽ 100) — числа масиву.Кожний з наступних m рядкiв описує запит i має один з наступних форматiв:
«1 p v» (1 ⩽ p ⩽ n, 1 ⩽ v ⩽ 100) — позицiя та нове число.
«2 p» (1 ⩽ p ⩽ n) — позицiя.
Вихідні дані
Пiсля кожного запиту другого типу буде виведене одне цiле число—вiдповiдьна нього.
####Блоки:
(20 балiв) n ⩽ 10; m ⩽ 100;
a[i]
;v[i]
⩽ 20;(20 балiв) n ⩽ 30; m ⩽ 300;
a[i]
;v[i]
⩽ 30;(20 балiв) n ⩽ 50; m ⩽ 500;
a[i]
;v[i]
⩽ 50;(20 балiв) n ⩽ 75; m ⩽ 750;
a[i]
;v[i]
⩽ 75;(20 балiв) без додаткових обмежень.