A7310 | 皓仔的奖品发放
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
皓仔所在的公司准备发放一批奖品,一共有 $n$ 名员工和 $m$ 个奖品。
第 $i$ 名员工都有一个业绩值,业绩值越高,越早进行奖品选择。如果两名员工的业绩值相同,则编号更小的员工先选。
每个奖品都有一个价值,并且每个奖品只能被选择一次。
同时,每名员工对奖品也有自己的要求。第 $i$ 名员工只会选择价值在自己预期范围内的奖品,也就是说,他只会选择价值满足 $l_i \le v \le r_i$ 的奖品。
当轮到某名员工选择时:
- 如果当前还有符合他预期范围的奖品,那么他会从中选择价值最高的那个奖品;
- 如果当前没有任何符合条件的奖品,那么他就不选择奖品。
请你输出最终每名员工选择到的奖品价值。如果没有选到奖品,则输出 $0$。
第 $i$ 名员工都有一个业绩值,业绩值越高,越早进行奖品选择。如果两名员工的业绩值相同,则编号更小的员工先选。
每个奖品都有一个价值,并且每个奖品只能被选择一次。
同时,每名员工对奖品也有自己的要求。第 $i$ 名员工只会选择价值在自己预期范围内的奖品,也就是说,他只会选择价值满足 $l_i \le v \le r_i$ 的奖品。
当轮到某名员工选择时:
- 如果当前还有符合他预期范围的奖品,那么他会从中选择价值最高的那个奖品;
- 如果当前没有任何符合条件的奖品,那么他就不选择奖品。
请你输出最终每名员工选择到的奖品价值。如果没有选到奖品,则输出 $0$。
输入格式
第一行输入两个整数 $n,m$,分别表示员工人数和奖品数量。
第二行输入 $n$ 个整数,第 $i$ 个整数表示第 $i$ 名员工的业绩值。
接下来 $n$ 行,每行输入两个整数 $l_i,r_i$,表示第 $i$ 名员工可接受的奖品价值范围。
最后一行输入 $m$ 个整数,表示每个奖品的价值。
第二行输入 $n$ 个整数,第 $i$ 个整数表示第 $i$ 名员工的业绩值。
接下来 $n$ 行,每行输入两个整数 $l_i,r_i$,表示第 $i$ 名员工可接受的奖品价值范围。
最后一行输入 $m$ 个整数,表示每个奖品的价值。
输出格式
输出一行,共 $n$ 个整数,第 $i$ 个整数表示第 $i$ 名员工最终选择到的奖品价值。如果没有选到奖品,则输出 $0$。
输入输出样例
输入 #1
3 5 90 80 85 3 8 5 10 1 4 2 4 6 8 10
输出 #1
8 10 4
【样例解释】
三名员工的选择顺序为:
- 第 $1$ 名员工,业绩是 $90$
- 第 $3$ 名员工,业绩是 $85$
- 第 $2$ 名员工,业绩是 $80$
初始奖品价值为:$2,4,6,8,10$
可接受范围是 $[3,8]$,符合条件的奖品有 $4,6,8$,他会选择其中价值最高的 $8$。
剩余奖品:$2,4,6,10$
可接受范围是 $[1,4]$,符合条件的奖品有 $2,4$,他会选择其中价值最高的 $4$。
剩余奖品:$2,6,10$
可接受范围是 $[5,10]$,符合条件的奖品有 $6,10$,他会选择其中价值最高的 $10$。
所以最终答案为 $8,10,4$。
【数据范围】
对于全部数据,保证:
- $1 \le n,m \le 2000$
- $1 \le$ 员工业绩值 $\le 10^9$
- $1 \le l_i \le r_i \le 10^9$
- $1 \le$ 奖品价值 $\le 10^9$
三名员工的选择顺序为:
- 第 $1$ 名员工,业绩是 $90$
- 第 $3$ 名员工,业绩是 $85$
- 第 $2$ 名员工,业绩是 $80$
初始奖品价值为:$2,4,6,8,10$
第 $1$ 名员工
可接受范围是 $[3,8]$,符合条件的奖品有 $4,6,8$,他会选择其中价值最高的 $8$。
剩余奖品:$2,4,6,10$
第 $3$ 名员工
可接受范围是 $[1,4]$,符合条件的奖品有 $2,4$,他会选择其中价值最高的 $4$。
剩余奖品:$2,6,10$
第 $2$ 名员工
可接受范围是 $[5,10]$,符合条件的奖品有 $6,10$,他会选择其中价值最高的 $10$。
所以最终答案为 $8,10,4$。
【数据范围】
对于全部数据,保证:
- $1 \le n,m \le 2000$
- $1 \le$ 员工业绩值 $\le 10^9$
- $1 \le l_i \le r_i \le 10^9$
- $1 \le$ 奖品价值 $\le 10^9$
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?