题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2051
题目大意:
给出任务的id(各个任务唯一)和执行间隔(各个任务不唯一);要求按照执行的时间顺序来输出要求的钱几个任务id号;当两个任务在同一个时间执行时,先输出id小的;
解题思路:
显然是要求按照执行的时间先后顺序来输出结果;首先考虑排序,发现排序的话,根本不能确定每个任务执行多少次能满足题目要求,所以肯定是不可行的;既 然要求按照时间的先后顺序来输出,那么可以构造优先队列,每次取队头,然后再根据取出任务的执行情况将下一次的执行时间插入到队列里;直到取出满足要求的 个数任务为止。
AC代码: