CF533A.Berland Miners

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

The biggest gold mine in Berland consists of nn caves, connected by n1n-1 transitions. The entrance to the mine leads to the cave number 11 , it is possible to go from it to any remaining cave of the mine by moving along the transitions.

The mine is being developed by the InMine Inc., kk miners work for it. Each day the corporation sorts miners into caves so that each cave has at most one miner working there.

For each cave we know the height of its ceiling hih_{i} in meters, and for each miner we know his height sjs_{j} , also in meters. If a miner's height doesn't exceed the height of the cave ceiling where he is, then he can stand there comfortably, otherwise, he has to stoop and that makes him unhappy.

Unfortunately, miners typically go on strike in Berland, so InMine makes all the possible effort to make miners happy about their work conditions. To ensure that no miner goes on strike, you need make sure that no miner has to stoop at any moment on his way from the entrance to the mine to his cave (in particular, he must be able to stand comfortably in the cave where he works).

To reach this goal, you can choose exactly one cave and increase the height of its ceiling by several meters. However enlarging a cave is an expensive and complex procedure. That's why InMine Inc. asks you either to determine the minimum number of meters you should raise the ceiling of some cave so that it is be possible to sort the miners into the caves and keep all miners happy with their working conditions or to determine that it is impossible to achieve by raising ceiling in exactly one cave.

输入格式

The first line contains integer nn ( 1<=n<=51051<=n<=5·10^{5} ) — the number of caves in the mine.

Then follows a line consisting of nn positive integers h1,h2,...,hnh_{1},h_{2},...,h_{n} ( 1<=hi<=1091<=h_{i}<=10^{9} ), where hih_{i} is the height of the ceiling in the ii -th cave.

Next n1n-1 lines contain the descriptions of transitions between the caves. Each line has the form ai,bia_{i},b_{i} ( 1<=ai,bi<=n1<=a_{i},b_{i}<=n , aibia_{i}≠b_{i} ), where aia_{i} and bib_{i} are the numbers of the caves connected by a path.

The next line contains integer kk ( 1<=k<=n1<=k<=n ).

The last line contains kk integers s1,s2,...,sks_{1},s_{2},...,s_{k} ( 1<=sj<=1091<=s_{j}<=10^{9} ), where sjs_{j} is the jj -th miner's height.

输出格式

In the single line print the minimum number of meters that you need to raise the ceiling by in some cave so that all miners could be sorted into caves and be happy about the work conditions. If it is impossible to do, print 1-1 . If it is initially possible and there's no need to raise any ceiling, print 00 .

输入输出样例

  • 输入#1

    6
    5 8 4 6 3 12
    1 2
    1 3
    4 2
    2 5
    6 3
    6
    7 4 2 5 3 11
    

    输出#1

    6
    
  • 输入#2

    7
    10 14 7 12 4 50 1
    1 2
    2 3
    2 4
    5 1
    6 5
    1 7
    6
    7 3 4 8 8 10
    

    输出#2

    0
    
  • 输入#3

    3
    4 2 8
    1 2
    1 3
    2
    17 15
    

    输出#3

    -1
    

说明/提示

In the first sample test we should increase ceiling height in the first cave from 55 to 1111 . After that we can distribute miners as following (first goes index of a miner, then index of a cave): .

In the second sample test there is no need to do anything since it is already possible to distribute miners as following: .

In the third sample test it is impossible.

首页