CF1098A.Sum in the tree

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Mitya has a rooted tree with nn vertices indexed from 11 to nn , where the root has index 11 . Each vertex vv initially had an integer number av0a_v \ge 0 written on it. For every vertex vv Mitya has computed svs_v : the sum of all values written on the vertices on the path from vertex vv to the root, as well as hvh_v — the depth of vertex vv , which denotes the number of vertices on the path from vertex vv to the root. Clearly, s1=a1s_1=a_1 and h1=1h_1=1 .

Then Mitya erased all numbers ava_v , and by accident he also erased all values svs_v for vertices with even depth (vertices with even hvh_v ). Your task is to restore the values ava_v for every vertex, or determine that Mitya made a mistake. In case there are multiple ways to restore the values, you're required to find one which minimizes the total sum of values ava_v for all vertices in the tree.

输入格式

The first line contains one integer nn — the number of vertices in the tree ( 2n1052 \le n \le 10^5 ). The following line contains integers p2p_2 , p3p_3 , ... pnp_n , where pip_i stands for the parent of vertex with index ii in the tree ( 1pi<i1 \le p_i < i ). The last line contains integer values s1s_1 , s2s_2 , ..., sns_n ( 1sv109-1 \le s_v \le 10^9 ), where erased values are replaced by 1-1 .

输出格式

Output one integer — the minimum total sum of all values ava_v in the original tree, or 1-1 if such tree does not exist.

输入输出样例

  • 输入#1

    5
    1 1 1 1
    1 -1 -1 -1 -1
    

    输出#1

    1
    
  • 输入#2

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

    输出#2

    2
    
  • 输入#3

    3
    1 2
    2 -1 1
    

    输出#3

    -1
    
首页