#t552. 图书销售排行榜

图书销售排行榜

图书销售排行榜

题目描述

书店需要根据销售数据生成图书排行榜。每本图书有书名、销量、价格、出版年份。

排序规则如下:

  • 销量从高到低;
  • 销量相同,价格从高到低;
  • 价格相同,出版年份从新到旧;
  • 年份也相同,按书名字典序从小到大。

现在只需要输出前 kk 名。

输入格式

第一行两个整数 nn 和 kk,表示图书数量和需要输出的名次数量。

接下来 nn 行,每行包含:书名、销量、价格、出版年份。书名不含空格。

输出格式

输出 kk 行,每行格式为:名次 书名 销量 价格 出版年份。名次从 11 开始,依次递增。

样例输入

6 3
CppPrimer 120 99 2013
PythonGuide 150 80 2020
AlgoBook 150 75 2019
DataStruct 120 99 2011
JavaNote 200 60 2018
OSConcept 150 75 2021

样例输出

1 JavaNote 200 60 2018
2 PythonGuide 150 80 2020
3 OSCConcept 150 75 2021

样例解释

样例共有 66 本书,需要输出前 33 名。按照排序规则,JavaNote 的销量为 200200,销量最高,所以排在第 11 名。销量为 150150 的书有 PythonGuide、AlgoBook 和 OSCConcept,其中 PythonGuide 的价格为 8080,高于另外两本的 7575,价格高者优先,所以 PythonGuide 排在第 22 名。剩下两本中,OSConcept 的出版年份为 20212021,AlgoBook 的出版年份为 20192019,年份从新到旧,所以 OSCConcept 排在第 33 名。因此前 33 名依次为 JavaNote、PythonGuide、OSConcept,与样例输出一致。

数据范围

  • 1≤k≤n≤1051 \le k \le n \le 10^5
  • 销量为不超过 10910^9 的非负整数
  • 价格为不超过 10910^9 的非负整数
  • 出版年份为 19001900 到 21002100 之间的整数
  • 书名不含空格,长度不超过 5050,且各图书书名互不相同