在遥远的未来,人类已经进入了广阔的星际时代。一支名为“远征号”的星际舰队正在未知的宇宙深处执行探索任务。舰队由多艘补给舰和作战舰组成。补给舰负责从资源星开采并运送能量晶体,而作战舰则需要消耗这些晶体来维持护盾和武器系统。 每天,都会有一批补給舰(记作集合 )满载能量晶体返回母舰基地,它们需要排队进入唯一的能量接口进行卸货。同时,多艘作战舰(记作集合 )也在排队等待能量补充。补给总指挥官,一位久经沙场的将军,制定了一套高效的能量分配规则,以确保舰队的战斗力。 假设当前排在补给队列第一位的补给舰运来的能量晶体数量为 。作战舰的需求队列中,排在第 位的作战舰记为 ,其能量需求为 。 将军制定的分配规则如下: 1. **精准匹配**:如果当前补给舰的能量 正好等于队首作战舰 的需求 (即 ),则该补给舰的能量将完全转移给 。完成补给后,这艘补给舰和作战舰 均离开各自的队列。 2. **超量分配**:如果当前补给舰的能量 大于队首作战舰 的需求 (即 d_1" ),则启动连续补给模式。系统会寻找一个最大的整数 ,使得队列前 艘作战舰的总需求满足: 并且 K" 此时,该补给舰的全部能量 将被分配给这 艘作战舰()。这些作战舰完成补给后离开队列,同时该补给舰也离开队列。下一轮分配将由下一艘补给舰和新的队首作战舰 开始。 3. **需求不足**:如果当前补给舰的能量 小于队首作战舰 的需求 (即 ),则 无法在此轮得到满足。 将放弃本次补给机会,移动到作战舰队列的末尾重新排队。该补给舰则继续等待,尝试为下一艘作战舰(原队列中的 )进行补给。 在所有补给舰的能量晶体分配完毕,或者所有作战舰都完成补给后,流程结束。请计算,最终有多少艘作战舰未能成功获得能量补充?
输入描述:
输入包含两行,均为一系列由空格分隔的正整数。- 第一行代表补给舰队列 中各舰船的能量晶体数量。数组中的第 个元素 代表第 艘补给舰的载量。我们保证 且 。- 第二行代表作战舰队列 中各舰船的能量需求。数组中的第 个元素 代表第 艘作战舰的需求量。我们保证 且 。若输入格式不合法(例如,行为空或数值越界),程序应返回 `-1`。
输出描述:
输出一个整数,表示在分配流程结束后,未能获得能量补充的作战舰的数量。
示例1
说明
补给舰的能量

无法满足任何一艘作战舰的需求(需求分别为

和

)。
因此,两艘作战舰都未能获得补给。
备注:
本题由牛友@Charles 整理上传
加载中...