#C00003C. monster game
monster game
题目背景
Han24666 正在玩打怪游戏
题目描述
此时 Han24666 面前有 个怪物, 第 个怪血量为 , 此时 Han24666 可以发动以下 个操作:
- 普通攻击, 对区间 中每个怪物造成 滴伤害,注意:只要区间内存在任意一个怪物的血量低于 , 那么, Han24666只能造成该区间和最小怪物血量相等的伤害。
- 技能:伤害,将区间 中所有怪物的血量除以 ()向下取整
- 大招: 压制,将区间 中所有怪物的血量对 取模
- 请求军师:询问军师区间 中所有怪物血量的和
而现在,你就是Han24666的军师,Han24666的所有操作你都知道,你需要回答每次操作
输入格式
第一行两个整数 , 表示怪物的数量,操作的次数 第二行 个整数 ,代表怪物的初始血量 接下来 行,每行多个整数代表操作,有以下 种格式
1 l r x表示使用普攻,对 所有怪物造成 滴伤害,只要区间内存在任意一个怪物的血量低于, 那么只能造成该区间和最小怪物血量相等的伤害。2 l r x使用技能,使 所有怪物血量除以 向下取整3 l r x使用大招,使 所有怪物血量对 取模4 l r请求军师,你需要回答 所有怪物的血量总和
输出格式
输出多行每行一个整数表示每次 询问的答案
输入样例
5 5
3 4 5 6 7
1 2 4 2
2 1 3 2
4 1 5
3 4 5 5
4 1 5
输出样例
14
9
样例解释
初始血量 3 4 5 6 7
第 次操作 区间血量 ,区间最小血量为 () 血量变为 3 2 3 4 7
第 次操作 区间血量 , 血量变为 1 1 1 4 7
第 次操作 查询 血量和,
第 次操作 区间血量 , 变为1 1 1 4 2
第 次操作 查询 血量和,
数据规模与规定
- 存在
- 所有输入均不超过 并且都为非负数
- 对于每个 操作,保证
部分分详细见表
| 数据点编号 | 特殊性质 | 分值 |
|---|---|---|
| 1-10 | 10 | |
| 11-20 | 20 | |
| 21-30 | 70 |