U243469 飞船找石头
题目背景
小X要去找宝石!
题目描述
小 X 接到了一个秘密任务,要求他去一些星球上采集能量水晶。 为了保密,这个行动的代号设置为“采花”。
现在,小 X 的任务列表里有 n 个星球,每个星球有一定量的能量水晶, 小 X 首次经过该星球时能将这些水晶全部采集。 采集完毕后,即使小 X 再次经过该星球,也无法进行水晶采集。
这些星球还已经被空间力量连接起来,每个星球有且仅有一条单向虫洞,可能通向这n 个星球中的另一个星球,也可能通向自己。但是每个星球可能有多条虫洞通向它。小 X 的飞船还有空间折跃功能,每次折跃可以立即到达任何一个指定的星球,但是由于空间折跃耗能极高且容易暴露,小 X 最多使用 K 次。
小 X 在任务开始时,需要使用一次空间折跃到达某个星球。 但是任何时候,小 X 都可
以结束任务并返回母舰,这个过程不需要使用折跃。
现在小 X 希望采集尽可能多的能量水晶,他想知道自己最多能采集多少。
输入格式
第一行两个正整数 n, K
接下来两行。
第一行 n 个数 a[1]~a[n],表示 1~n 号星球的能量水晶含量。
第二行 n 个数 b[1]~b[n],表示 1~n 号星球虫洞通向的星球编号。
输出格式
第一行两个正整数 n, K
接下来两行。
第一行 n 个数 a[1]~a[n],表示 1~n 号星球的能量水晶含量。
第二行 n 个数 b[1]~b[n],表示 1~n 号星球虫洞通向的星球编号。
说明/提示
先折跃到 1,然后经过 1-2-3-4-5,获得 16 单位的能量水晶
。
再折跃到 9,然后经过 9-7-6,获得 9 单位的能量水晶。
最后折跃到 8,获得 5 单位的能量水晶
