Alice 拥有一座迷宫,这座迷宫可以抽象成一棵拥有
每个非叶节点都有一个石像守卫,初始时,所有石像守卫均在沉睡。唤醒
每个叶节点都有一个符文,
探险者初始时持有空序列
- 到达叶节点
时,将 点的符文 添加到序列 的末尾,然后返回父节点。 - 到达非叶节点
时:- 若该点的石像守卫已被唤醒,则只能先前往左儿子,(从左儿子返回后)再前往右儿子,(从右儿子返回后)最后返回父节点。
- 若该点的石像守卫在沉睡,可以在以下二者中任选其一:
- 先前往左儿子,再前往右儿子,最后返回父节点。
- 先前往右儿子,再前往左儿子,最后返回父节点。
返回节点
探险者 Bob 准备进入迷宫,他希望探险结束时的
在 Bob 出发之前,Alice 可以选择一些魔力值花费之和不超过
对于两个长度为
满足以下两个条件: ; 。
输入格式
本题有多组测试数据。输入的第一行包含一个正整数
接下来依次
- 第一行两个整数
表示迷宫规模和 Alice 可用于唤醒石像守卫的魔力值上限。 - 第二行
个整数 表示唤醒各个石像守卫耗费的魔力值。 - 第三行
个整数 表示各个叶节点上的符文。
输出格式
对于每组数据,输出一行
样例 1
input
3 1 0 1 2 1 1 1 1 2 1 3 3 3 2 1 2 1 2 1 4 2 6 3 7 1 5 8
output
1 2 2 1 2 4 6 3 5 8 7 1
explanation
- 第一组数据中,Alice 无法唤醒石像守卫,Bob 可以选择先访问叶节点
,再访问叶节点 ,得 。 - 第二组数据中,Alice 可以唤醒节点
的石像守卫,Bob 只能先访问叶节点 ,再访问叶节点 ,得 。 - 第三组数据中,Alice 的最优策略是唤醒节点
的石像守卫。
【样例 2】
见附件中的 maze2.in/ans
。
该组数据满足特殊性质 A。
【样例 3】
见附件中的 maze3.in/ans
。
该组数据满足特殊性质 B。
【样例 4】
见附件中的 maze4.in/ans
。
【样例 5】
见附件中的 maze5.in/ans
。
子任务
设
; , ; , ; 构成 的排列。
测试点编号 | 特殊性质 | ||
---|---|---|---|
无 | |||
A | |||
B | |||
无 | |||
A | |||
B | |||
无 | |||
A | |||
B | |||
无 |
特殊性质 A:
特殊性质 B:
时间限制:
空间限制: