CF1099F.Cookies
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Mitya 和 Vasya 正在玩一个有趣的游戏。他们有一棵有根树,这棵树有 n 个顶点,顶点编号从 1 到 n。根节点的编号为 1。对于每个 i≥2 的顶点 i,它有一个父节点 pi,顶点 i 被称为顶点 pi 的子节点。
树上的每个顶点都有一些饼干:在顶点 i 上有 xi 块饼干。在顶点 i 吃一块饼干需要恰好 ti 的时间。树上还有一个芯片,最初位于树根。将芯片沿着连接顶点 i 与其父节点的边移动,需要花费 li 的时间。
Mitya 和 Vasya 轮流进行游戏,Mitya 先手。
- Mitya 可以将芯片从当前位置移动到它的某个子节点。
- Vasya 可以从芯片当前位置到其某个子节点的边中,移除一条边。Vasya 也可以选择跳过这回合。
Mitya 可以在自己的任意回合选择停止游戏。一旦他停止游戏,他会将芯片沿着路径返回到根节点,并在沿途的顶点吃掉一些饼干。Mitya 可以自行决定在每个经过的顶点吃多少块饼干。下行、上行和吃饼干所花费的总时间不能超过 T。请注意,游戏结束时芯片必须回到树根:Mitya 不能将芯片留在其他顶点,即使他已经吃够了饼干——他必须将芯片带回根节点(每次从顶点 v 移动到其父节点都需要 lv 的时间)。
无论 Vasya 如何操作,请你求出 Mitya 最多能吃到多少块饼干。
输入格式
第一行包含两个整数 n 和 T,分别表示树的顶点数和 Mitya 完成任务的总时间(2≤n≤105,1≤T≤1018)。
第二行包含 n 个整数 x1,x2,…,xn,表示每个顶点上的饼干数量(1≤xi≤106)。第三行包含 n 个整数 t1,t2,…,tn,表示在每个顶点吃一块饼干所需的时间(1≤ti≤106)。
接下来的 n−1 行描述这棵树。对于每个 i 从 2 到 n,第 i 行包含两个整数 pi 和 li,其中 pi 表示顶点 i 的父节点,li 表示将芯片从顶点 i 移动到其父节点所需的时间(1≤pi<i,0≤li≤109)。
输出格式
输出一个整数,表示无论 Vasya 如何操作,Mitya 最多能吃到多少块饼干。
输入输出样例
输入#1
5 26 1 5 1 7 7 1 3 2 2 2 1 1 1 1 2 0 2 0
输出#1
11
输入#2
3 179 2 2 1 6 6 6 1 3 2 3
输出#2
4
说明/提示
在第一个样例测试中,Mitya 可以先将芯片移动到顶点 2。无论 Vasya 如何操作,Mitya 至少都能吃到 11 块饼干。下面是详细的操作过程:
- Mitya 将芯片移动到顶点 2。
- Vasya 移除了与顶点 4 相连的边。
- Mitya 将芯片移动到顶点 5。
- 由于顶点 5 没有子节点,Vasya 不移除任何边。
- Mitya 停止游戏,并将芯片带回根节点,在沿途吃掉饼干(在顶点 5 吃 7 块,在顶点 2 吃 3 块,在顶点 1 吃 1 块)。
Mitya 下行花费 1+0 时间,上行花费 0+1 时间,在顶点 5 吃 7 块饼干花费 7×2 时间,在顶点 2 吃 3 块饼干花费 3×3 时间,在顶点 1 吃 1 块饼干花费 1×1 时间。总时间为 1+0+0+1+7×2+3×3+1×1=26。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?