#P14857. [OOI2026 资格赛]Simple Problem简单题
[OOI2026 资格赛]Simple Problem简单题
题目描述
给定一棵有 个顶点的无向树。每个顶点 上记录了一个非负整数 ,满足 。
如果一个顶点集合中所有顶点的 值按位或等于 ,则称这个集合是好的。
一个集合的代价定义为集合中任意两点距离的最大值,其中树上两点距离为它们之间唯一简单路径上的边数。
你需要求出一个好集合的最小代价,或判断不存在好集合。
输入格式
第一行包含两个整数 (,),表示树的顶点数和参数 。
第二行包含 个整数 (),表示每个顶点的值。
接下来 行描述树边。第 行包含两个整数 (),表示第 条边连接的两个顶点。
输出格式
如果不存在好集合,输出 -1。否则输出一个整数,表示好集合的最小代价。
样例
样例输入 1
5 3
1 2 6 0 4
1 2
2 3
1 4
3 5
样例输出 1
2
样例输入 2
3 3
0 1 2
1 2
2 3
样例输出 2
-1
样例解释
第一个样例中,可以选择顶点集合 。
第二个样例中,能够得到的最大按位或值为 ,无法达到 。
计分方式
测试数据包含九个测试组。只有当某组所有测试点以及该组要求的若干前置组均通过时,才能获得该组分数。注意,某些测试组不要求通过样例测试。离线测试表示该组测试结果会在比赛结束后才可见。
| 组别 | 分数 | 前置组 | 备注 | ||
|---|---|---|---|---|---|
| 0 | - | - | - | 样例 | |
| 1 | 12 | 0 | - | ||
| 2 | 9 | - | |||
| 3 | 14 | - | 2 | ||
| 4 | 6 | - | - | ||
| 5 | 10 | ||||
| 6 | 12 | - | 5 | ||
| 7 | 9 | 0 | |||
| 8 | 16 | - | 0-2, 5, 7 | ||
| 9 | 12 | - | 0-8 | 离线测试 | |