#CSES1190. 子数组和查询

    ID: 274 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>数据结构线段树最大子段和单点修改CSES结构体下标计数

子数组和查询

题目背景

翻译自 CSES-1190 题。

题目描述

给定一个包含 nn 个整数的数组。数组中的一些值将被更新,每次更新后,您的任务是报告数组中的最大子数组和。

本题中子数组定义为:任意给定一个数组下标 l,r(1lrn)l,r(1\le l\le r\le n),得到的区间 [l,r][l,r] 中的数组元素 al,al+1,,ara_{l},a_{l+1},\cdots,a_r。即可以理解成连续子序列。

输入格式

第一行包含两个整数 nnmm:分别表示数组的大小和更新的次数。数组的索引从 11nn

第二行包含 nn 个整数 x1,x2,,xnx_1,x_2,\ldots,x_n:表示数组的初始内容。

接下来有 mm 行描述更新操作。每一行包含两个整数 kkxx:表示将数组中位置 kk 的值更新为 xx

输出格式

对于每次更新操作,输出更新后的数组的最大子数组和。空子数组(和为 00)是允许的。

样例

5 3
1 2 -3 5 -1
2 6
3 1
2 -2
9
13
6

数据范围

  • 1n,m21051 \le n,m \le 2 \cdot 10^5
  • 109xi109-10^9 \le x_i \le 10^9
  • 109x109-10^9 \le x \le 10^9
  • 1kn1 \le k \le n