混乱的辈分关系

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 0 总提交人数: 0

题目描述

称兄道弟的时代已经过去了(现在流行叫爸爸)。如果A有求于B,B可以问A“叫什么?” 然后大家都懂的。

A叫B爸爸,则B是A的爸爸,A是B的儿子。孙子、曾孙等同理。

例如A叫B爸爸,B叫C爸爸,则A是C的孙子。

B不会是自己的爸爸或者儿子。

假设我们有一个“爸爸值”,A叫B爸爸会导致A的爸爸值-1,B的爸爸值+1。现在我们想统计这群人中辈分最高(即爸爸值最高)的人和他的所有儿子们。

在爸爸值相同的时候,按如下规则确立辈分关系(标号在前的规则优先采用,举例时按B辈分高算):

  1. A叫过B或B的某个子孙(儿子、孙子或曾孙等)爸爸,但B没有这种情况;
  2. A的年龄比B小。

输入

第一个数为人数n和叫爸爸次数m。

接下来m行,每行2个整数Ai,Bi,表示Ai曾叫Bi爸爸。

接下来一行n个整数,代表编号1~n的人的年龄gi(以秒计算)。

$1 \leq n \leq 100$
$1 \leq m \leq n^2$
$1 \leq Ai \leq n$
$1 \leq Bi \leq n$
$1 \leq gi \leq 100000$
输入保证他们的年龄各不相同。

输出

输出2行,第一行为辈分最高的人的编号i。

接下来一行,输出这个辈分最高的人的所有儿子的编号。

儿子按爸爸值从高到低排序,爸爸值相同时按年龄从高到低排序。

输入样例

3 3
1 2
3 2
1 3
3 4 5

输出样例

2
3 1

相关推荐