#Lutece2365. 赏金
赏金
Migrated from Lutece 2365 赏金
All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.
Description
你带着大量佣兵回到城市,看到了大量的新赏金任务。你无视其他等级的任务,拿过最高等级的任务列表,发现其任务数量刚好和你的佣兵数量相同,便把它们都接到了自己手上。
每个佣兵都有自己的能力值,每个任务都有能力值要求,能力值大于要求即可完成任务。
你让佣兵们自行选择任务(每人一个),然而,一旦脱离你的命令,他们就无法做出恰当的决策:你看完他们的选择后,发现他们选择的任务既有重复,也有缺漏,还有不少佣兵选择了自己能力不够、无法完成的任务。但你既然已经下令,朝令夕改会影响你的威信。
因此,你决定让他们按照自己的选择从你的手中接任务,如果选择的任务已经被接,则按照任务列表接下一个任务,如果还是被接则继续往下直至接到任务,如果到了最后一个还需继续往下,则从列表的第一个任务开始。(可以把列表理解为环状。列表顺序是既定的,你不可以修改)
不过,还有一件你可以控制的事:你可以决定他们谁先接任务。你需要找到一个最优的顺序,让佣兵完成最多的任务。
请计算最优顺序下可完成的任务数量。
Input
第一行,整数 ,你的佣兵数量和最高等级的任务数量。 第二行, 个整数,依次表示你的每个佣兵所选择的任务编号()。 第三行, 个整数,依次表示完成每个任务所需要的能力值。 第四行, 个整数,依次表示每个佣兵的能力值。
Output
一个数,表示最优解下可以完成的任务量。
Samples
4
2 3 3 3
42 23 11 25
15 50 31 24
3
Constraints
。 佣兵能力值、任务需要的能力值互不相同,且满足 。
Note
样例中,一个最优的顺序(不一定唯一)是 4,3,2,1。
Resources
2020 UESTC ICPC Training for Data Structures