问题描述 |
---|
罗少在玩一款卡牌游戏,敌人有a张卡牌,罗少只能选择自己卡牌库里的某一张卡牌。游戏规则如下: 1、罗少只能尝试用这唯一的一张卡牌与敌人的卡牌决斗。 2、敌人只能依照顺序选取一张卡牌,与罗少进行堂堂正正的1v1决斗。也就是说敌人首先用第1张卡牌与罗少决斗;如果输了,那么用第2张卡牌与罗少决斗;以此类推。 3、每张卡牌都有各自的战斗力,假设两张决斗的卡牌战斗力分别为f1和f2,如果f1>f2,那么第一张卡牌打败第二张卡牌,同时第一张卡牌的战斗力变成f1-f2;如果f1=f2,那么两张卡牌同时被消灭;如果f2>f1, 4、如果罗少的卡牌被敌人消灭(包括同归于尽),那么比赛结束。 罗少卡牌库里有b张卡牌,他想要知道如果他选定其中的一张卡牌上场,这张卡牌能最多打败敌人的第几张卡牌(包括和敌人卡牌同归于尽的情况)? 注:不管罗少用哪张卡牌上场,敌人的卡牌都重新初始化,即罗少的每张卡牌面对的都是完全崭新的一局比赛,敌人的卡牌都是全新的,而不是从上一次打败了一部分敌人卡牌的局面开始。 |
输入描述 |
只有一组案例。 两个整数a、b,表示敌人卡牌数量、罗少卡牌数量。(1<=a<=200000, 1<=b<=20000) 然后是a个正整数,表示敌人第1张、第2张、...、第a张卡牌的战斗力。(均不大于10000) 最后是b个正整数,表示罗少卡牌库里第1张、第2张、...、第b张卡牌的战斗力。(均不大于1e9) |
输出描述 |
针对罗少的每张卡牌,输出一个整数,表示该卡牌如果作为罗少方上场的卡牌,最多能打败敌人的第几张卡牌。然后换行。 |
样例输入复制样例 |
4 3 5 15 10 5 20 32 100 |
样例输出 |
2 3 4 |
提示说明 |
罗少第一张卡牌20,打败敌人第一张卡牌5以后,战斗力剩15;然后与敌人第二张卡牌同归于尽。故答案是2。 罗少第二张卡牌32,打败敌人第一张卡牌5以后,战斗力剩27;败敌人第二张卡牌15以后,战斗力剩12;败敌人第三张卡牌10以后,战斗力剩2;然后败给了敌人第四张卡牌。故答案是3。 罗少第三张卡牌100,很显然横扫敌人所有4张卡牌。故答案是4。 |
相关 |