题目
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0b5534ccd829843ca10d3281732d6805.png)
代码
#include <iostream>
#include<algorithm>
#include <vector>
using namespace std;
bool cmp(int x,int y)
{
return x>y;
}
int main(){
int N,K;
cin>>N;
cin>>K;
int key[N];
for(int i=0;i<N;i++) key[i]=i+1;
int jiekey[K];
int jietime[K];
int huantime[K];
int max=-1;
for(int i=0;i<K;i++){
cin>>jiekey[i];
cin>>jietime[i];
cin>>huantime[i];
huantime[i]+=jietime[i];
if(huantime[i]>max) max=huantime[i];
}
for(int i=1;i<=max;i++){
vector<int> temp;
for(int j=0;j<K;j++){
if(huantime[j]==i){
temp.push_back(jiekey[j]);
}
}
sort(temp.begin(),temp.end(),cmp);
int index=0;
while(!temp.empty()){
if(key[index]==-1){
key[index]=temp[temp.size()-1];
temp.pop_back();
}
index++;
}
for(int j=0;j<K;j++){
if(jietime[j]==i){
for(int k=0;k<N;k++){
if(key[k]==jiekey[j]){
key[k]=-1;
break;
}
}
}
}
}
for(int i=0;i<N;i++) cout<<key[i]<<" ";
return 0;
}