3409 - 维护序列
时间限制 : 2 秒
内存限制 : 512 MB
给定一个长度为 n 的序列 a,编号从 1 到 n。要求支持下面几种操作:
1.给一个区间 [l, r] 加上一个数 x;
2.把一个区间 [l, r] 里小于 x 的数变成 x;
3.把一个区间 [l, r] 里大于 x 的数变成 x;
4.求区间 [l, r] 的和;
5.求区间 [l, r] 的最大值;
6.求区间 [l, r] 的最小值。
输入
第一行一个整数 n 表示序列长度。
第二行 n 个整数 ai 表示初始序列。
第三行一个整数 m 表示操作个数。
接下来 m 行,每行三或四个整数,对应一个题目中所描述的操作。
输出
对于每个 4, 5, 6 类型的操作输出一行一个整数表示答案。
样例
输入
2 1 2 2 2 1 2 2 4 1 2
输出
4