‹ 上一题 下一题 ›

g5-08235. 两轮晋级 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLpriority_queue

题目描述

比赛分两轮。第一轮: 名选手的成绩按到达顺序给出——第 个到达的成绩属于 号选手。取成绩前 名晋级:成绩从高到低排,同分时先到达者靠前。

第二轮:晋级的 名选手()再测一次, 个成绩按晋级名单顺序给出——第 个成绩属于名单上第 人。取前 名获奖:同样成绩从高到低、同分时名单靠前者靠前。

两轮都用「单堆保前几名」技法:小根堆只留当前前 (或前 )大,超员就挤掉堆顶;「同分先到先得」靠把「成绩」和「先到次序」编进同一个 long long(高位成绩,低位一个随次序增大而减小的量)。

输入格式

第一行三个整数 、、()。

第二行 个整数 (),第 个是 号选手第一轮的成绩。

第三行 个整数 (),第 个是晋级名单第 人第二轮的成绩。

输出格式

两行:第一行 个整数,晋级名单(成绩降序、同分先到先);第二行 个整数,获奖名单(第二轮成绩降序、同分名单靠前先),均用空格分隔。

样例

输入:

5 3 3
80 90 90 70 85
60 95 88

输出:

2 3 5
3 5 2

90 分的 2、3 两人先到的 2 号排前,名单为 2 3 5;第二轮 95、88、60 分依次属于名单第 2、3、1 人,获奖 3 5 2。

数据范围

,。提示:超员挤堆顶必须配小根堆——大根堆挤掉的是最大的,保下来的就成了前 小。

输入
输出

            
答案