AT_past19_k.隣接禁止
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一棵包含 N 个顶点的树,顶点编号为 1 到 N。第 i 条边连接顶点 ui 和顶点 vi,且为无向边。在顶点 i 上写有整数 Ai。
请判断是否存在一种方法,从这 N 个顶点中选择 K 个顶点,使得选出的任意两个顶点都不是相邻的。如果存在,请求出所选 K 个顶点上的整数之和的最大值。
输入格式
输入从标准输入读入,格式如下:
N K
u1 v1
⋮
uN−1 vN−1
A1 A2 ⋯ AN
输出格式
如果不存在满足条件的选法,输出 −1。如果存在,输出所选 K 个顶点上整数之和的最大值。
输入输出样例
输入#1
5 2 1 2 2 3 1 4 2 5 3 1 4 1 5
输出#1
9
输入#2
10 6 7 3 3 8 5 1 3 9 2 5 6 1 5 4 10 7 7 1 1 3 10 6 7 9 2 2 10 4
输出#2
34
输入#3
10 6 2 10 1 10 7 4 8 9 8 7 4 3 1 4 6 7 5 3 2 5 1 2 3 6 2 9 9 7
输出#3
-1
说明/提示
样例解释 1
最优的做法是选择顶点 3 和顶点 5。
样例解释 3
不存在满足条件的选法。
数据范围
- 2≤N≤100
- 1≤K≤N
- 1≤ui,vi≤N
- 1≤Ai≤100
- 输入的图是一棵树。
- 所有输入数值均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?