| 比赛场次 | 646 |
|---|---|
| 比赛名称 | 郑州市创意编程大赛复现赛 |
| 比赛状态 | 已结束比赛成绩 |
| 开始时间 | 2024-11-25 18:00:00 |
| 结束时间 | 2024-11-25 18:05:00 |
| 开放分组 | 全部用户 |
| 组织者 | HXF |
| 注释介绍 |
| 题目名称 | 旅游 |
|---|---|
| 输入输出 | tjoi2015_travel.in/out |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 128 MiB |
| 测试点数 | 10 简单对比 |
| 用户 | 结果 | 时间 | 内存 | 得分 |
|---|
为了提高智商,ZJY 准备去往一个新世界去旅游。这个世界的城市布局像一棵树,每两座城市之间只有一条路径可以互达。
每座城市都有一种宝石,有一定的价格。ZJY 为了赚取最高利益,她会选择从 A 城市买入再转手卖到 B 城市(只能进行一次购买)。
由于ZJY买宝石时经常卖萌,因而凡是 ZJY 路过的城市,这座城市的宝石价格会上涨。让我们来算算 ZJY 旅游完之后能够赚取的最大利润。(如 A 城市宝石价格为 $v$,则ZJY出售价格也为 $v$)
第一行输入一个正整数 $n$ 表示城市个数。
接下来一行输入 $n$ 个正整数表示每座城市宝石的最初价格 $p$,每个宝石的初始价格不超过 $100$。
第三行开始连续输入 $n-1$ 行,每行有两个数字 $x$ 和 $y$。表示 $x$ 城市和 $y$ 城市有一条路径。城市编号从$1$开始。
下一行输入一个正整数 $q$ 表示询问次数。
接下来 $q$ 行每行输入三个正整数 $a,b,v$,表示 ZJY 从 $a$ 旅游到 $b$,城市宝石上涨 $v$。
对于每次询问,输出 ZJY 可能获得的最大利润,如果亏本了则输出 $0$。
3 1 2 3 1 2 2 3 2 1 2 100 1 3 100
1 1
5 1 2 3 4 5 1 2 1 3 2 4 4 5 6 1 5 50 2 4 500 3 4 5000 3 5 50000 1 3 500000 2 3 5000000
4 2 551 551 0 499499
对于 $30\%$ 的数据,保证 $n \le 100$,$q \le 10^4$。
对于 $100\%$ 的数据,保证 $1\le n,q \le 5\times 10^4$,在任何时刻任何城市的宝石价格都不超过 $10^9$。