已结束 【普及组】GESP“飞翔杯”第二届季度赛
← 上一题 下一题 →

A4791 | 信奥试炼塔(tower)

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

在ACGO编程平台中,有一座神秘的“信奥试炼塔”,塔内设有一条线性分布的算法节点,依次编号为 $1$ 到 $n$。每个节点都隐藏着能量水晶和能量消耗机制。

现在,一名勇敢的挑战者(你可以从塔中的任意一个节点出发)准备在试炼塔中探索。当你从一个节点转移到下一个节点时,只能前往与其相邻的节点。并且,第一次经过该节点时,你会从节点的能量水晶中获得 $v_i$ 单位的能量奖励;然而,每次经过这个节点,都会同时消耗 $l_i$ 单位的能量(无论是否是首次经过)。对于出发的节点而言,一开始即视为经过该节点。

你的任务是:分别以塔中的 $1$ 至 $n$ 号节点作为起点,计算在该节点出发、并允许在相邻节点之间左右移动的情况下,能够获得的最大剩余能量。

输入格式

输入包含三行。

- 第 1 行:一个整数 $n$,表示节点总数。
- 第 2 行:包含 $n$ 个整数,表示数组 $v$,其中 $v_i$ 为第 $i$ 个节点的能量奖励。
- 第 3 行:包含 $n$ 个整数,表示数组 $l$,其中 $l_i$ 为第 $i$ 个节点的能量消耗。

输出格式

输出共 $n$ 个整数,第 $i$ 个整数表示当出发节点为 $i$ 时,在试炼塔允许左右移动的前提下,能够获得的最大剩余能量。

输入输出样例

输入 #1
5
6 1 1 3 4
1 1 2 1 1
输出 #1
9 8 6 8 9
C++ 编辑器
输入
输出