评测记录
这是代码,感觉没有问题
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,x,ans=0;
struct node{
int money,day,sum;
}a[N];
bool cmp(node x,node y){
return x.money<y.money;
}
bool flag;
int main(){
cin>>x>>n;
for(int i=1;i<=n;i++)
cin>>a[i].money>>a[i].day>>a[i].sum;
sort(a+1,a+n+1,cmp);
while(x--){
flag=false;
for(int i=1;i<=n;i++)
if(a[i].day>=x&&a[i].sum>0){
a[i].sum--,ans+=a[i].money;
flag=true;break;
}
if(!flag){
cout<<-1;
return 0;
}
}
cout<<ans;
return 0;
}
大佬求助