4545:[GESP202512四级] 优先购买
文件提交:无需freopen
内存限制:128 MB
时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:1
解决:0
题目描述
## 题目背景
2025 年 12 月 GESP C++ 四级编程第 2 题
## 题目描述
小 A 有 $M$ 元预算。商店有 $N$ 个商品,每个商品有商品名 $S$、价格 $P$ 和优先级 $V$ 三种属性,其中 $V$ 为正整数,且 $V$ 越小代表商品的优先级越高。
小 A 的购物策略为:
- 总是优先买优先级最高的东西;
- 如果有多个最高优先级商品,购买价格最低的;
- 如果有多个优先级最高且价格最低的商品,购买商品名字典序最小的。
小 A 想知道能购买哪些商品。
## 输入格式
第一行两个正整数 $M, N$,代表预算和商品数。
之后 $N$ 行,每行一个商品,依次为 $S_i\ P_i\ V_i$,代表第 $i$ 个商品的商品名、价格、优先级。
数据保证不存在两个名字相同的商品。
## 输出格式
按照字典序从小到大的顺序,输出所有购买商品的商品名。
## 样例
```input1
20 4
apple 6 8
bus 15 1
cab 1 10
water 4 8
```
```output1
bus
cab
water
```
## 数据范围
对于所有测试点,保证 $1 \leq |S_i| \leq 10$,$1 \leq M, P_i \leq 10^5$,$1 \leq N \leq 10^3$,$1 \leq V_i \leq 10$。商品名仅由小写字母组成且不存在两个相同的商品名。