计蒜客练习题:任务系统
题目
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/864cac0b048e0d1e3475741a6c4a8348.png)
样例
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/000fad89153b4873581bd3309b117c3e.png)
代码
#include<iostream>
#include<queue>
#include<map>
using namespace std;
map<int,int> jishi;
struct node
{
int id,time;
bool operator<(const node &a) const
{
if(time>a.time)
return true;
if((time==a.time)&&(id>a.id))
return true;
return false;
}
};
priority_queue<node> q;
int main()
{
int n,k,time,id;
string s;
node a;
cin>>n>>k;
while(n--)
{
cin>>s>>id>>time;
a.id=id;
a.time=time;
q.push(a);
jishi[id]=time;
}
while(k--)
{
node task=q.top();
q.pop();
cout<<task.id<<endl;
task.time+=jishi[task.id];
q.push(task);
}
return 0;
}