#D1010. 背包の撤销

背包の撤销

题目背景

每次加入物品,或者删除物品,维护凑出价值 KK 的方案数?

题目描述

有一个盒子,最初是空的。
按照输入中给出的顺序,总共执行以下两种类型的操作 QQ 次。

  • + xx : 将写有整数 xx 的小球放入盒子中。
  • - xx : 从盒子中取出一个写有整数 xx 的球。

保证在第二种操作之前,盒子中包含一个写有整数 xx 的小球。

对于每次操作后的盒子,求从盒子中取出一定数量的球,使得写在球上的整数和为 KK 的方案数,对 998244353998244353 取模。

输入格式

第一行输入两个整数 Q,KQ,K

接下来 QQ 行,每行输入一个操作。

输出格式

输出 QQ 行,表示答案。

输入输出样例 #1

输入 #1

15 10
+ 5
+ 2
+ 3
- 2
+ 5
+ 10
- 3
+ 1
+ 3
+ 3
- 5
+ 1
+ 7
+ 4
- 3

输出 #1

0
0
1
0
1
2
2
2
2
2
1
3
5
8
5

说明/提示

  • 所有输入值均为整数。
  • 1Q50001 \le Q \le 5000
  • 1K50001 \le K \le 5000
  • 1x50001 \le x \le 5000

对于 40%40 \% 的数据: 1Q,K,x2001\le Q,K,x \le 200

对于 100%100 \% 的数据: 1Q,K,x50001\le Q,K,x \le 5000