#500. 11
11
No testdata at current.
题目描述
狗子研发了一款专门用于维护数列的软件。
初始时有一个长度为 的数列,初始时光标在第 个数和第 个数之间。 即在整个序列的最左端, 即在整个序列的最右端。
狗子要在软件上操作 次,第 次操作为以下 种之一:
- 将光标往左移动一个数,若原来光标在第 个数和第 个数之间,那么新的光标在第 个数和第 个数之间。
- 将光标往右移动一个数,若原来光标在第 个数和第 个数之间,那么新的光标在第 个数和第 个数之间。
- 在光标处插入一个数 ,若光标在第 个数和第 个数之间,就在第 个数的后面插入 ,然后光标顺移至第 个数和第 个数之间。
每次操作完了后狗子都想要知道整个数列的最大子段和,即求整个数列 的子区间 使得 最大。
输入格式
第一行三个正整数依次为 。
由于输入量过大,第二行为一个长度为 的字符串。第 位为一个小写字母 来表示数列上第 个数,此时第 个数应为 ,即是小写字母的第几个减去 。
第三行为一个长度为 的字符串。第 位为 表示第 操作是上面哪一种。若为 那么第 位是一个没用的字符,否则第 位为一个小写字母 来表示 ,此时 的值应为 ,即是小写字母的第几个减去 。
输出格式
为了减少输出量,设第 次操作完的答案为 ,允许选择空区间,所以一定为非负整数,那么需要输出:
$$ans_1\oplus (2\cdot ans_2)\oplus\cdots\oplus (i\cdot ans_i)\oplus ((i+1)\cdot ans_{i+1})\oplus \cdots \oplus (m\cdot ans_m). $$样例输入输出
ex_a1.in
2 2 3
pn
3k203q
ex_a1.ans
23 更多样例见下发文件。
样例解释
每次操作结束后的数列依次为 。
每次操作结束后的答案依次为 。
数据范围与提示
对于全部数据,满足
对于前 的数据,满足
对于前 的数据,满足
时空限制
1s,1024MB