3634:KOF赛制

时间限制:2 S   /  内存限制:16384 KB
AC:45   /  Submit:138
问题描述

罗少在玩一款卡牌游戏,敌人有a张卡牌,罗少只能选择自己卡牌库里的某一张卡牌。游戏规则如下:

1、罗少只能尝试用这唯一的一张卡牌与敌人的卡牌决斗。

2、敌人只能依照顺序选取一张卡牌,与罗少进行堂堂正正的1v1决斗。也就是说敌人首先用第1张卡牌与罗少决斗;如果输了,那么用第2张卡牌与罗少决斗;以此类推。

3、每张卡牌都有各自的战斗力,假设两张决斗的卡牌战斗力分别为f1和f2,如果f1>f2,那么第一张卡牌打败第二张卡牌,同时第一张卡牌的战斗力变成f1-f2;如果f1=f2,那么两张卡牌同时被消灭;如果f2>f1,那么第二张卡牌打败第一张卡牌,同时第二张卡牌的战斗力变成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。

相关

厦门大学嘉庚学院第九届编程大赛


Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1