CSES - Pizzeria Queries

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1600 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

\(n\) tòa nhà trên một con đường, được đánh số \(1,2,..,n\). Mỗi tòa nhà có một tiệm bánh pizza và một căn hộ.

Giá pizza trong tòa nhà thứ \(k\)\(p_k\). Nếu bạn gọi một bánh pizza từ tòa nhà \(a\) đến \(b\), giá của nó (với giao hàng) là \(p_a + |a - b|\).

Nhiệm vụ của bạn là xử lí 2 dạng truy vấn sau:

  1. Giá pizza \(p_k\) của tòa nhà thứ \(k\) đổi thành \(x\).
  2. Bạn đang ở tòa nhà thứ \(k\) và muốn gọi một bánh pizza. Giá tối thiểu để gọi là gì?

Input

  • Dòng đầu tiên gồm hai số nguyên \(n\)\(q\): số tòa nhà và số truy vấn.
  • Dòng thứ hai gồm \(n\) số nguyên \(p_1, p_2,...,p_n\): giá pizza ban đầu của mỗi tòa nhà.
  • Cuối cùng, có \(q\) dòng truy vấn. Mỗi dòng sẽ là 1 k x hoặc 2 k.

Constraints

  • \(1 \leq n,q \leq 2\cdot 10^5\)
  • \(1 \leq p_i,x \leq 10^9\)
  • \(1 \leq k \leq n\)

Output

  • In các đáp án của các truy vấn loại 2.

Example

Test 1

Input
6 3
8 6 4 5 7 5
2 2
1 5 1
2 2
Output
5
4

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.