1412: Obsander's puzzled II

内存限制:128 MB 时间限制:1.000 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:18 通过:3 通过率:16.667%

题目描述

经过 Obsander 长时间的摸索,他发现两组数据存在关联,并不是简单的线性关系, Obsander 回想他所学过的数据结构,他肯定了这两组数据的关联类似一颗树。但是 Obsander 只是一个刚毕业的大学生,对数据处理这方面其实不是很精通,但是他熟练掌握 ai 工具,于是他向 Geimini 2.5 pro (人工智能大模型)请求帮助,最终在大模型的帮助下,Obsander 得到一个新的问题,原先的数据抽象成了一颗根节点为节点 0 的无向树,树中有 n 个节点,由于是在数组的基础上抽象成的,所以结点编号为 0 到 n - 1 ,这棵树有 m 条边的关系,边的关系可以描述成 a, b, c 其意义表示为 a 和 b 结点中有一条值为 c 的路径。现在 Obsander 需要求出最长特殊路径的长度和最长特殊路径中的最少节点数目。
特殊路径:指的是树中一条从祖先节点往下到后代节点且经过节点的值互不相同的路径。

输入格式

输入为多行:
第一行为两个整数 n,m 分别代表的意义为 n 节点的数量,m 为存在 m 条边的关系。 
第二行为长度为 n 的数组。
接下来 3 到 m + 2 行为树中边的关系。

输出格式

输出为一行,两个整数,第一个整数为最长特殊路径的长度,第二个整数为最长特殊路径中的最少节点的数目。

输入样例 复制

6 5
2 1 2 1 3 1
0 1 2
1 2 3
1 3 5
1 4 4
2 5 6

输出样例 复制

6 2

数据范围与提示

最长特殊路径为 0 -> 1 -> 4 和 2 -> 5 两条路径长度都为 6,节点最少的路径为 2 个节点。
2 <= n = m <= 5 * 104
0 <= mi <= 5 * 104
保证输入是一颗合法的树。