#P3130. 干草堆计数(Counting Haybale P)
0
干草堆计数(Counting Haybale P)
干草堆计数(Counting Haybale P)
题目描述
Farmer John 正在尝试雇佣承包商来帮助他重新安排农场,但到目前为止,所有承包商在看到 FJ 希望他们遵循的复杂指令序列后都辞职了。FJ 不得不自己完成这个项目,他意识到自己可能把项目搞得比必要的还要复杂。请帮助他按照指令完成农场的升级。
FJ 的农场由一排 个田地组成,编号为 。每个田地里可以有任意数量的干草堆。Farmer John 的指令包含三种类型的条目:
-
给定一个连续的田地区间,向每个田地添加 个新的干草堆。
-
给定一个连续的田地区间,确定该区间内田地中干草堆的最小数量。
-
给定一个连续的田地区间,计算该区间内干草堆的总数。
输入格式
第一行包含两个正整数,()和 ()。
第二行包含 个非负整数,每个整数最多为 ,表示每个田地中初始的干草堆数量。
接下来的 行每行包含一个大写字母,可能是 M、P 或 S,后跟两个正整数 和 (),或者三个正整数 、 和 (;)。只有当大写字母是 P 时,才会有三个正整数。
如果字母是 M,输出从 的田地区间内干草堆的最小数量。
如果字母是 P,向从 的田地区间内的每个田地添加 个新的干草堆。
如果字母是 S,输出从 的田地区间内干草堆的总数。
输出格式
对于 FJ 指令中的每一个 'M' 或 'S' 条目,输出一行相应的结果。
样例输入 #1
4 5
3 1 2 4
M 3 4
S 1 3
P 2 3 1
M 3 4
S 1 3
样例输出 #1
2
6
3
8
数据范围
请使用高效率算法及 64 位整数(long long)避免溢出。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):1500。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1 | 样例 |
| 1 | 25 | 2~8 | 小规模与边界测试数据 |
| 2 | 30 | 9~16 | 中等规模测试数据 |
| 3 | 35 | 17~25 | 满规模极限测试数据 |
出处:原题链接