Запити#8766

Запити

1 секунда
64 мегабайти
Дуже легка

У вас є масив довжиною . Вам дають запитів двох типів:

  1. змінити -те число в масиві на ;

  2. знайти -те число в масиві .

Вхідні дані

Перший рядок містить два цілих числа та (1 \leq n \leq 100,\ 1 \leq m \leq 1000) — довжина масиву та кількість запитів.

Другий рядок містить цілих чисел a_1,\ a_2,\ \ldots,\ a_n (1 \leq a_i \leq 100) — числа масиву.Кожний з наступних рядків описує запит і має один з наступних форматів:

  1. 1 p v (1 \leq p \leq n, 1 \leq v \leq 100) — позиція та нове число.

  2. 2 p (1 \leq p \leq n) — позиція.

Взаємодія

Вам потрібно реалізувати три функції:

void init(integer n, array of integers a)

  • — довжина масиву;

  • — масив цілих чисел;

  • ця функція викликається першою лише один раз. Вона потрібна для того,щоб повідомити вам розмір масиву та сам масив. Лише після виклику цієїфункції будуть викликатись інші дві.

void upd(integer p, integer v)

  • — позиція;

  • — нове число;

  • ця функція викликається, коли потрібно задати запит першого типу.

integer ask(integer p)

  • — позиція;

  • ця функція викликається, коли потрібно задати запит другого типу;

  • функція має повернути ціле число—відповідь на запит.

Вихідні дані

Після кожного запиту другого типу буде виведене одне ціле число — відповідь на нього.

Приклади

Приклад 1

Loading
Loading

Оцінювання

Блоки:

  1. (20 балів) n \leq 10; m \leq 100; a_i, v_i \leq 20;

  2. (20 балів) n \leq 30; m \leq 300; a_i, v_i \leq 30;

  3. (20 балів) n \leq 50; m \leq 500; a_i, v_i \leq 50;

  4. (20 балів) n \leq 75; m \leq 750; a_i, v_i \leq 75;

  5. (20 балів) без додаткових обмежень.