列表

详情


NC236249. 石子游戏2

描述

Alice和Bob又开始玩取石子游戏。游戏规则如下:有 n 堆石子,每堆石子有 a_i 颗石子。玩家轮流操作,每一次操作可以选择任意一堆非空的石子,从这堆石子中取走任意数量(非0)的石子,当一名玩家不能操作时则视为失败。

这次,他们准备连续玩 n 天,每天一局游戏。初始时,没有任何一堆石子。接下来每一天开始时,都会发生一件事,然后他们再开始玩游戏,每局游戏都是Alice先手。自从上次和Alice玩游戏后,Bob觉得自己被欺骗了,因此这次他想靠作弊获胜。在每次游戏之前,Bob都会从目前已有的石子堆中扔掉一些堆,然后保证自己必胜。游戏结束后,Bob又会把扔掉的那些石子堆放回原位。

在每一天开始时,会发生接下来两件事的其中一件:

  1.  ",表示Alice把一堆包含 a_i 颗石子的石子堆放到最右边,这需要Bob花费 b_i 的代价来扔掉这堆石子。

  2. DEL ",表示Alice自己扔掉了最右边的那堆石子,保证这堆石子一定存在。

你是Bob最好的朋友,Bob希望你帮他寻找一种最优方案,让Bob以最小的代价来保证自己每局游戏的胜利。因为Bob总是可以扔掉所有石子堆来保证自己胜利,所以一定有解。

输入描述

第一行输入一个整数  ,表示他们要玩游戏的天数。

接下来 n 行,每行代表每一天发生的事件,格式已由题目给出。

保证" ADD "操作个数最多有  。

输出描述

输出n行,每行一个整数,第i个整数表示Bob至少需要花费多少代价来让自己在第i天的游戏中获胜。

示例1

输入:

7
ADD 3 10
ADD 2 4
ADD 1 5
ADD 2 1
DEL
DEL
ADD 3 5

输出:

10
14
0
1
0
14
4

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

上一题