题目描述
维护一个长度为 n 的整数序列 a,支持三种操作:
1 u v c
,对于 ∀i∈[u,v],将 ai 更改为 c;
2 u v c
,对于 ∀i∈[u,v],将 ai 更改为 max(ai+c,0);
3 u v
,输出 i=u∑v[ai=0] 的值。
输入格式
第一行输入两个正整数 n,m,表示序列长度和操作个数。
第二行输入 n 个整数 ai,表示序列的初始状态。
第三行开始,往下 m 行,每行表示一个操作。
输出格式
输出若干行,每行一个整数,依次回答每个操作 3 的问题。
提示
对于 100% 的数据,1≤n,m≤3×105,0≤ai≤109。
- 对于操作 1,保证 0≤c≤109。
- 对于操作 2,保证 ∣c∣≤109。
且对于所有操作,保证 1≤u≤v≤n。