站外提求助,悬赏2关
  • 板块灌水区
  • 楼主lutaoquan2012
  • 当前回复23
  • 已保存回复23
  • 发布时间2024/1/13 15:42
  • 上次更新2024/1/13 18:40:52
查看原帖
站外提求助,悬赏2关
952033
lutaoquan2012楼主2024/1/13 15:42

题目描述:

在冒险岛这款游戏中,有一个著名的山洞副本,里面有丰富的宝藏,引来了许多勇者前来挑战。

不幸的是,山洞中有 NN 个怪物,第 ii 个怪物的防御力为 AiA_i , 奖励值为 BiB_i , MM 个勇者依次前来挑战。

假设一位勇者初始的战斗力为 XX , 当你的战斗力大于怪物的防御力 AiA_i 时,你才可以击败它,并且获得奖励值 BiB_i 的战斗力提升。

幸运的是,每位勇者都深知自己的战斗力不一定充足,所以他会在进入山洞战斗前进行训练,依次来提升他的战斗力,并且勇者都是很聪明的,每位勇者都可以选择任意顺序来击败怪物,一个怪物只能被击败一次。

具体来说:假设训练总天数为 nn , 勇者第 ii 天的战斗力提升为 min⁡(i,n−i+1)\min(i,n-i+1)

因为勇者都希望自己能尽快穿越山洞,请你帮助每位勇者计算他最少训练多少天可以击败所有怪物?

你可以认为不同的勇者之间是互相独立的,副本中的怪物会重新恢复状态。

输入格式

第一行 11 个正整数 NN , 表示怪物的数量

第二行 N 个正整数 A1,A2,.....,ANA_1,A_2,.....,A_N。即每个怪物的防御力

第三行 NN 个正整数 B1,B2,.....,BNB_1,B_2,.....,B_N。即每个怪物的奖励值

第四行 11 个正整数 MM , 表示有 MM 个勇者前来挑战

接下来 MM 行,每行输入 11 个正整数 XX , 表示这名勇者的初始战斗力值

输出格式

输出 11 行 MM 个整数,表示每名勇者最少需要训练的天数。

样例

【样例 1 输入】

3
4 8 2
1 1 1
3
1
5
4

【样例 1 输出】

4 2 3

【样例 2 输入】

3 
10 100 100
10 20  30
3
4
100
50

【样例 2 输出】

18 0 12

样例说明

第一组样例中,一共有 33 位勇者前来挑战。

第一位勇者锻炼 44 天 , 攻击力为 1+1+2+2+1=71+1+2+2+1=7 ,然后可以击败所有怪物 第二位勇者锻炼 22 天 , 攻击力为 5+1+1=75+1+1=7 ,可以击败所有怪物 第三位勇者锻炼 33 天 , 攻击力为 4+1+2+1=84+1+2+1=8,可以击败所有怪物

数据范围与提示

对于 30%30\% 的数据,1≤N,M≤1001\le N,M\le 100 , 1≤X,Ai,Bi≤1001\le X,A_i,B_i\le 100

对于 100%100\% 的数据,1≤N,M≤2×1051\le N,M\le 2\times 10^5 , 1≤X,Ai,Bi≤1091\le X,A_i,B_i\le 10^9

2024/1/13 15:42
加载中...