#1502. 怪物游戏

怪物游戏

题目描述

在一款游戏中,在你的面前有 nn 只怪物依次排成一排,他们的血量分别是 a1,a2,,ana_1,a_2,\ldots , a_n 你的初始攻击力为 11 , 在每轮游戏中,你有mm次操作,对于每次操作你有三种出牌方式:

  • 11:用当前攻击力对前方怪物造成伤害,攻击后攻击力重置为11。若前方怪物血量降至00或更低,则该怪物被击败,后续攻击将针对下一只存活的前方怪物。
  • 22:提高一点攻击力。
  • 33:过牌

请输出每只怪物被击败时所执行的操作序号(从 11 到 ​mm 依次编号)。

输入格式

第一行两个整数 nmn,m , 代表怪物的数量和操作的次数。 接下来一行输入 nn 个整数 a1,a2,,ana_1,a_2,\ldots , a_n,代表每只怪物的初始血量,以空格分隔。 接下来一行输入一个长度为 mm 的只含有 1,2,31,2,3 的字符串,代表你的操作序列。 数据保证,所有怪物最终都会被击败。

输出格式

一行 nn 个整数,依次表示每只怪物被击败时的操作序号。

样例

输入

2 6
3 3
221211

输出

3 6

样例解释

  • 操作 11(类型 22):攻击力从 121→2,当前攻击力 22
  • 操作 22(类型 22):攻击力从 232→3,当前攻击力 33
  • 操作 33(类型 11):攻击前方怪物,伤害:333=03→3-3=0(击败),攻击力重置 11 记录第一只怪物死亡时间:33 剩余怪物:[3][3]
  • 操作 44(类型 22):攻击力从 121→2,当前攻击力 22
  • 操作 55(类型 11):攻击前方怪物:32=13-2=1,攻击力重置 11 怪物仍未被击败
  • 操作 66(类型 11):攻击前方怪物:11=01-1=0,击败怪物,记录时间 66 故输出 3,63,6

数据分布

40%40\%的样例, 1n100 1\le n \le 100 , 1m100 1 \le m \le 100 1ai100(1in)1 \le a_i \le 100 ( 1 \le i \le n)

100%100\%的样例, 1n106 1\le n \le 10^6 , 1m106 1 \le m \le 10^6 1ai106(1in)1 \le a_i \le 10^6 ( 1 \le i \le n), 数据保证,所有怪物最终都会被击败。

时空限制

  • 时间限制:1s1s
  • 空间限制:256M256M