#1010. 医院排队就诊(链表节点插入)

医院排队就诊(链表节点插入)

Description

链表指的是将需要处理的数据对象以节点的形式,通过指针串联在一起的一种数据结构。链表中的每个节点一般由数据区域和指针区域两部分构成,其中数据区域用于保存实际需要处理的数据元素,指针区域用来保存该节点后继节点的存储地址。

就诊时病人排队规则:

(1)老年人(年龄>=60)比非老年人优先就诊

(2)老年人按年龄从大到小的顺序就诊,年龄相同的按预约顺序就诊

(3)非老年人按预约顺序就诊

现有一个链表有n个节点, 表头是head,链表中节点数据区域值是病人年龄,初始时n个病人的排队次序符合上述规则。

现在来了若干个病人,请你将他们按上述规则插入到前面链表中。

Format

Input

第1行,链表节点数量n和头指针head。

第2~n+1行,每行为两个数x和y。其中x表示该节点数据域的值,y表示该节点指针域的值。

第n+2行来了若干个病人(正整数代表病人年龄),请你按题中给定的规则,将这些整数插入到链表中。

Output

按找病人就诊排队规则,依次输出链表中各个节点的信息。

Samples

5 2
15 3
67 4
75 1
30 -1
40 0
60 48 67 82
82 2
75 1
67 7
67 5
60 4
40 0
15 3
30 6
48 -1

Limitation

1s, 1024KiB for each test case.

链表专题练习001-第9题改编