7101 - 寶石奇兵   

Description

 

寶石奇兵是一個簡單的動作遊戲,主要是打敗遊戲中的敵人與收集關卡中的各式寶石,因為遊戲的場景細緻,並且容易上手,所以吸引了不少玩家。為了增加遊戲的樂趣,遊戲公司新增了線上排名的功能,透過連上網路將自己的紀錄上傳,就能夠加入排名。每個紀錄包含玩家名稱、分數、以及過關時間,為了讓玩家能夠快速知道其他排名的分數和時間,遊戲公司提供了一項查詢功能,能夠查到所有第 k 名的紀錄。排名的規則如下:如果紀錄 A 的分數比紀錄 B 還要高,則 A 的排名較高;如果兩者分數一樣的話,則過關時間較少的紀錄排名較高;如果分數和時間都一樣,則並列同一名。

 

名次

玩家名稱

分數

過關時間

1

hanazawa

1989

225

1

kana

1989

225

2

yamato

1900

300

3

kate

1900

600

3

amethyste

1900

600

4

george

1900

650

5

manticore

1850

215

表一

 

例如:表一是從第 1 名到第 5 名的紀錄。如果查詢第 4 名,則顯示 george 的紀錄;如果查詢第 3 名,會顯示 kate amethyste 的紀錄。假設目前有 N 筆紀錄以任意順序排列,並且需要查詢 M 個名次,請你寫一個程式模擬這個功能。

 

Input

第一行是一個整數 T (T £ 20),接下來有 T 組測試資料。

每組測試資料的第一行是兩個正整數 N (N £ 10,000) M (M £ 10,000),接下來 N 行代表 N 筆紀錄,每筆紀錄包含玩家名稱、分數和通關時間,玩家名稱最多由 20 小寫英文字母所組成,分數和時間是小於 1,000,000,000 的非負整數。之後有 M 行,表示有 M 個查詢,每一行只有一個數字 k (k > 0),表示要查詢第 k 名的紀錄。

Output

一共有 T 組輸出。每組的第一行輸出 “Record Set #C”,代表第 C 組測試資料,之後對每個查詢輸出兩個部分,第一部分是分數和過關時間,兩個數以一個空白隔開,輸出在同一行,第二部分是所有第 k 名的玩家名稱,每個名稱各占一行,並且以字典排序的順序輸出

你可以假設第 k 名一定存在。

Sample Input  Download

Sample Output  Download

Tags




Discuss