看完题目,一开始以为是用多种限制条件的 DP,后来看到输入任务是按照时间一个递增才发现是贪心。
直接模拟计算机执行过程就行,我们可以用一个小顶堆数组来保存某台计算机所有正在执行的任务的结束时间,用一个 map 数组记录某台计算机在某一时刻可以归还的算力。
由于每个任务请求的计算机是确定的,我们只需要判断这一时刻该计算机剩余的算力是否大于等于任务的需求,
否直接输出 -1,是的话减去消耗的算力。
2024-05-31 16:21:44
看完题目,一开始以为是用多种限制条件的 DP,后来看到输入任务是按照时间一个递增才发现是贪心。
直接模拟计算机执行过程就行,我们可以用一个小顶堆数组来保存某台计算机所有正在执行的任务的结束时间,用一个 map 数组记录某台计算机在某一时刻可以归还的算力。
由于每个任务请求的计算机是确定的,我们只需要判断这一时刻该计算机剩余的算力是否大于等于任务的需求,
否直接输出 -1,是的话减去消耗的算力。