#CSES2206. 披萨店查询

披萨店查询

题目背景

翻译自 CSES-2206 题。

题目描述

街道上有 nn 栋建筑,编号为 1,2,...,n1,2,...,n。每栋建筑都有一个披萨店和一间公寓。

kk 栋建筑的披萨价格为 pkp_k。如果你从建筑 aa 订购披萨送到建筑 bb,其价格(包括配送费用)为 pa+abp_a+∣a−b∣,其中 ab∣a−b∣ 是建筑 aa 到建筑 bb 的距离。

你的任务是处理两种类型的查询:

  1. 更新建筑 kk 的披萨价格为 xx
  2. 你在建筑 kk 并想订购披萨,询问最低的披萨价格是多少。

输入格式

第一行包含两个整数 nnqq:分别表示建筑的数量和查询的数量。

第二行包含 nn 个整数 p1,p2,,pnp_1,p_2,…,p_n:表示每栋建筑初始的披萨价格。

接下来有 qq 行描述查询。每一行是以下两种之一:

  • 1 k x:将建筑 kk 的披萨价格更新为 xx
  • 2 k:你在建筑 kk,询问从建筑 kk 订购披萨的最低价格。

输出格式

对于每个查询类型为 2 的查询,输出一个整数,即从建筑 kk 订购披萨的最低价格。

样例

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

说明/提示

1n,q21051 \leq n,q \leq 2 \cdot 10^5

1pi,x1091 \leq p_i,x \leq 10^9

1kn1 \leq k \leq n