某地发生地震道路被毁,只有一条路可走,多个市派出车队运送物资,每个市提供的物资车数不一样,到达灾区后需排队依次进入,各市车队组成一个数组cars[],队首的市的物资车数为cars[0],以此类推。
同时灾区临时营地中的多人排队领取物资,组成一个领物资队伍,表示为数组requires[],排在第1名的需求车数为的为requires[0],以此类推。
为尽快缩减营地中排队领物资队伍的长度,制定了一套发放规则: 假设当前进入营地的市车队运来的物资车数为K
1、在领取队伍中,找到需求和小于等于K的最长的一个子队伍,即子序列的和小于等于K的最长连续子序列(仅包含一个成员也是可以的),将当前营地中的所有市车队物资分配给这个子序列中的所有人,此为完成一次分配。
某地发生地震道路被毁,只有一条路可走,多个市派出车队运送物资,每个市提供的物资车数不一样,到达灾区后需排队依次进入,各市车队组成一个数组 cars[],队首的市的物资车数为 cars[0],以此类推。
同时灾区临时营地中的多人排队领取物资,组成一个领物资队伍,表示为数组 requires[],排在第 1 名的需求车数为 requires[0],以此类推。
为尽快缩减营地中排队领物资队伍的长度,制定了一套发放规则: