#605. [26届信息素养复赛模拟] 智能购物清单

[26届信息素养复赛模拟] 智能购物清单

题目背景

小华是一位忙碌的上班族,他想通过一个智能购物清单程序来帮助自己管理日常购物。这个程序可以根据他以往的购物习惯推荐商品,并允许他添加或删除清单上的物品。

题目描述

编写一个程序,输入一系列商品及其购买频率。程序应能够根据购买频率对商品进行排序,并允许用户添加或删除清单上的物品。

输入格式

输入一个正整数 NN (1N1001 \le N \le 100),表示商品的数量。 接下来 NN 行,每行输入一个商品名称(字符串长度不超过 1010)和一个整数 pp (1p1001 \le p \le 100),代表购买频率。 输入一个特殊的命令行,可以是 ADD 来添加新商品,或 DEL 来删除现有商品。若为 ADD 命令,则随后输入商品名称及其购买频率;若为 DEL 命令,则随后仅输入要删除的商品名称。

输出格式

首先输出所有商品按购买频率降序排列的清单,之后输出一行空行。 对于 ADD 命令,输出更新后的清单,之后输出一行空行。 对于 DEL 命令,输出删除商品后的清单,之后输出一行空行。

样例

5
chocolate 10
milk 45
apple 15
bread 20
egg 30
ADD chips 25
DEL chocolate
milk 45
egg 30
bread 20
apple 15
chocolate 10

milk 45
egg 30
chips 25
bread 20
apple 15
chocolate 10

milk 45
egg 30
chips 25
bread 20
apple 15

样例解释

最初输入 55 种商品及其购买频率。首次输出按频率降序排列的原始清单,末尾留一空行。执行 ADD chips 25 后,清单中加入购买频率为 2525chips,重新按频率降序输出,末尾留空行。执行 DEL chocolate 后,将 chocolate 从清单中移除,再次输出更新后的清单,末尾留空行。

数据范围

子任务 分值 数据范围 特殊性质
11 3030 N5N \le 5
22 N20N \le 20
33 2020 N50N \le 50
44 N100N \le 100