#B3999. [洛谷 202406GESP 模拟 四级] 锣鼓工厂
[洛谷 202406GESP 模拟 四级] 锣鼓工厂
题目描述
小苏同学是锣鼓工厂的厂长。锣鼓工厂共有 台机器,第 台机器工作一天可以生产 个锣鼓。因为环保、资金和保养问题,在接下来的 天里,每天只能使用一台机器进行生产,每台机器在 天里只能被使用一次。
同时,小苏接到了 笔订单,第 笔订单要求交付 个锣鼓。小苏同学想知道,是否存在一种合理安排机器使用和交付订单的顺序,使得她在接下来的 天里,每天都能交付一个订单?
输入格式
本题单个测试点内有多组测试数据。第一行是一个整数 (),表示数据组数。对每组数据,按如下格式输入:
每组数据第一行是一个整数 (),表示机器数和订单数。
第二行有 个整数 (),依次表示每台机器工作一天可以生产的锣鼓数量。
第三行有 个整数 (),依次表示每个订单要求交付的锣鼓数量。
输出格式
对每组数据,输出一行或三行:
- 如果不存在一种方案使得她在接下来的 天里,每天都能交付一个订单,输出一行一个字符串
No
。 - 否则输出三行:
- 第一行输出
Yes
。 - 第二行输出 个整数,,其中 表示在第 天使用的机器的编号。
- 第三行输出 个整数,,其中 表示在第 天交付的订单的编号。
- 第一行输出
和 必须是 范围内的整数,且每个数字在 中恰好出现一次。
对于输出 Yes
的情况,可能有多种合理的方案,你可以输出任意一种。只要你输出的方案是正确且合理的即可得分。
1
3
3 2 1
1 2 3
Yes
1 2 3
3 2 1
2
5
1 2 3 4 5
2 3 4 5 6
3
10 20 30
15 15 15
No
Yes
2 1 3
1 2 3
提示
样例 1 解释
- 在第一天使用编号为 的机器生产了 个锣鼓,交付编号为 的订单 个锣鼓。
- 在第二天使用编号为 的机器生产了 个锣鼓,交付编号为 的订单 个锣鼓。
- 在第三天使用编号为 的机器生产了 个锣鼓,交付编号为 的订单 个锣鼓。
样例 2 解释
我们解释第二组数据:
- 在第一天使用编号为 的机器,生产了 个锣鼓。交付编号为 的订单 个,剩余 个;
- 在第二天使用编号为 的机器,生产了 个锣鼓,加上上一天的 个,共 个锣鼓,交付编号为 的订单 个,剩余 个。
- 在第三天使用编号为 的机器,生产了 个锣鼓,共 个锣鼓,交付编号为 的订单 个,剩余 个。
提示
样例输出不唯一,仅供参考。