Codeforces Round 514 (Div. 2)
E
Split the Tree
Codeforces
2400
原题
← D→
翻译中…

You are given a rooted tree on $n$ vertices, its root is the vertex number $1$. The $i$-th vertex contains a number $w_i$. Split it into the minimum possible number of vertical paths in such a way that each path contains no more than $L$ vertices and the sum of integers $w_i$ on each path does not exceed $S$. Each vertex should belong to exactly one path.

翻译中…

A vertical path is a sequence of vertices $v_1, v_2, \ldots, v_k$ where $v_i$ ($i \ge 2$) is the parent of $v_{i - 1}$.

翻译中…

Input

翻译中…

The first line contains three integers $n$, $L$, $S$ ($1 \le n \le 10^5$, $1 \le L \le 10^5$, $1 \le S \le 10^{18}$) — the number of vertices, the maximum number of vertices in one path and the maximum sum in one path.

翻译中…

The second line contains $n$ integers $w_1, w_2, \ldots, w_n$ ($1 \le w_i \le 10^9$) — the numbers in the vertices of the tree.

翻译中…

The third line contains $n - 1$ integers $p_2, \ldots, p_n$ ($1 \le p_i \lt i$), where $p_i$ is the parent of the $i$-th vertex in the tree.

翻译中…

Output

翻译中…

Output one number  — the minimum number of vertical paths. If it is impossible to split the tree, output $-1$.

翻译中…

Note

翻译中…

In the first sample the tree is split into $\{1\},\ \{2\},\ \{3\}$.

翻译中…

In the second sample the tree is split into $\{1,\ 2\},\ \{3\}$ or $\{1,\ 3\},\ \{2\}$.

翻译中…

In the third sample it is impossible to split the tree.

翻译中…

样例

Input #1
3 1 3
1 2 3
1 1
Output #1
3
InputCopy OutputCopy
Input #2
3 3 6
1 2 3
1 1
Output #2
2
InputCopy OutputCopy
Input #3
1 1 10000
10001
Output #3
-1
InputCopy OutputCopy
题目信息
题号
1059E
时间限制
2 s
内存限制
256 MB
标签
二分
数据结构
动态规划
贪心
树

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。