【luogu U137902】序列区间(模拟)

daizhj 阅读:82 2023-05-01 21:59:20 评论:0

题目描述

给定一个长度为 $n$ 的序列 $a$,接下来有 $m$ 个操作,每个操作可能是以下两种之一:

- 区间加:给定 $l,r,d$,将 $a_l,a_{l+1},\cdots,a_r$ 加上 $d$。

- 区间求和:给定 $l,r$,求 $a_l,a_{l+1},\cdots,a_r$ 的和。

输入格式

第一行包含两个整数 $n,m$。

第二行包含 $n$ 个整数,表示序列 $a$。

接下来 $m$ 行,每行描述一个操作,格式如题目描述所示。

输出格式

对于每个区间求和操作,输出一个结果,每个结果占一行。

数据范围

$1\le n,m\le 10^5$,

$-10^9\le a_i,d\le 10^9$,

$1\le l\le r\le n$

输入样例1:

5 5

1 2 3 4 5

1 3 2

2 4

1 5 1

2 3

2 5

输出样例1:

9

14

15

输入样例2:

5 5

1 2 3 4 5

1 3 2

2 4

1 5 1

2 3

1 2 1

输出样例2:

9

14

15

提示

样例1解释:

第一个操作后,序列变为 {3,4,5,4,5},第二个操作求和区间 {3,4,5},结果为 9。

第三个操作后,序列变为 {4,5,6,5,6},第四个操作求和区间 {3,4},结果为 9。

第五个操作求和区间 {1,2,3,4,5},结果为 15。

样例2解释:

第一个操作后,序列变为 {3,4,5,4,5},第二个操作求和区间 {3,4,5},结果为 9。

第三个操作后,序列变为 {4,5,6,5,6},第四个操作求和区间 {3,4},结果为 9。

第五个操作后,序列变为 {5,6,6,5,6},第六个操作求和区间 {1,2},结果为 9。


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号