#402. [R64F]购买
[R64F]购买
时空限制
2S/512M
题目描述
一条街上排着 个商铺,编号为 到 。其中第 个商铺售卖一件独一无二的纪念品,价格为 元。
由于纪念品是独一无二的,整条街上每件纪念品仅此一件。一旦有顾客买走了某件纪念品,该纪念品就会从商铺中下架,后续的顾客将无法再看到或购买它。
现在有 个人依次(按照编号 到 的顺序)进入这条街购物。第 个人带了 元,他们都会沿着街从第 个商铺一直走到第 个商铺。
每个人的购物策略都是极其贪心的:他们从前往后经过每个商铺时,如果该商铺的纪念品尚未被别人买走,且自己当前手里的钱足够买下它,就一定会将其买下,手里的钱也随之减少对应的价格,商品随之永久下架;如果钱不够,或者该商品已被先前的顾客买走,则直接走过。
请计算出每个人最终买到的纪念品数量,以及他们具体买下了哪些商铺的纪念品。
格式
输入格式
第一行包含两个正整数 和 ,分别表示商铺的数量以及购物的人数。
第二行包含 个正整数 ,依次表示第 到第 个商铺初始纪念品的价格。
第三行包含 个正整数 ,依次表示每个人初始带的钱数。
输出格式
输出共 行。
第 行()首先输出一个整数 ,表示第 个人最终买到的纪念品数量。紧接着输出 个正整数,依次表示其买到的纪念品对应的商铺编号(按购买顺序,即编号从小到大输出)。一行中的各个整数之间用一个空格隔开。
如果某人最终没有购买任何纪念品,则在该行只需输出一个数字 0。
样例
样例输入 #1
5 3
10 2 5 1 7
8 15 3
样例输出 #1
3 2 3 4
1 1
0
样例输入 #2
4 2
100 50 30 20
80 110
样例输出 #2
2 2 3
1 1
数据规模
注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。
| 子任务编号 | 分数 | |
|---|---|---|
对于 的数据,,,。
Related
In following contests: