C0553 [BJOI2017]树的难题

内存限制:256 MB 时间限制:2000 ms

题目描述

给你一棵 $n$ 个点的无根树。

树上的每条边具有颜色。一共有 $m$ 种颜色,编号为 $1$ 到 $m$,第 $i$ 种颜色的权值为 $c_i$。

对于一条树上的简单路径,路径上经过的所有边按顺序组成一个颜色序列,序列可以划分成若干个相同颜色段。定义路径权值为颜色序列上每个同颜色段的颜色权值之和。

请你计算,经过边数在 $l$ 到 $r$ 之间的所有简单路径中,路径权值的最大值。

输入格式

第一行,四个整数 $n, m, l, r$。

第二行,$m$ 个整数 $c_1, c_2, \ldots, c_m$,由空格隔开,依次表示每个颜色的权值。

接下来 $n-1$ 行,每行三个整数 $u, v, c$,表示点 $u$ 和点 $v$ 之间有一条颜色为 $c$ 的边。

输出

输出一行,一个整数,表示答案。

样例

样例输入 1

5 3 1 4 -1 -5 -2 1 2 1 1 3 1 2 4 2 2 5 3

样例输出 1

-1

样例输入 2

8 4 3 4 -7 9 6 1 1 2 1 1 3 2 1 4 1 2 5 1 5 6 2 3 7 1 3 8 3

样例输出 2

11

提示

【样例 1 解释】

颜色权值均为负,最优路径为 $(1, 2)$ 或 $(1, 3)$。

【样例 2 解释】

最优路径为 $(3, 1, 2, 5, 6)$,其颜色序列为 $(2, 1, 1, 2)$。

image.png