logo AlgoBeat OnlineJudge
登录 注册

#201002. [NOI2005] 维护数列

内存限制:128 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

请写一个程序,要求维护一个数列,支持以下 种操作:

编号 名称 格式 说明
1 插入 在当前数列的第 个数字后插入 个数字:;若在数列首插入,则
2 删除 从当前数列的第 个数字开始连续删除 个数字
3 修改 从当前数列的第 个数字开始的连续 个数字统一修改为
4 翻转 取出从当前数列的第 个数字开始的 个数字,翻转后放入原来的位置
5 求和 计算从当前数列的第 个数字开始的 个数字的和并输出
6 求最大子串和 求出当前数列中和最大的一段非空子串,并输出最大和

输入格式

第一行包含两个整数 表示初始时数列中数的个数, 表示要进行的操作数目。

第二行包含 个数字,描述初始时的数列。以下 行,每行一条命令,格式参见问题描述中的表格。

输出格式

对于输入数据中的 操作,向输出文件依次打印结果,每个答案(数字)占一行。

样例

样例输入 1

9 8 
2 -6 3 5 1 -5 -3 6 3 
GET-SUM 5 4
MAX-SUM
INSERT 8 3 -5 7 2
DELETE 12 1
MAKE-SAME 3 3 2
REVERSE 3 6
GET-SUM 5 4
MAX-SUM

样例输出 1

-1
10
1
10

数据范围与提示

数据规模与约定

  • 你可以认为在任何时刻,数列中至少有 个数。
  • 输入数据一定是正确的,即指定位置的数在数列中一定存在。
  • 对于 的数据,任何时刻数列中最多含有 个数。
  • 对于 的数据,任何时刻数列中最多含有 个数,任何时刻数列中任何一个数字均在 内,,插入的数字总数不超过

题面由 @syksykCCC 提供。