样例过了,但全WA
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5+10;
int n,w;//n是数量,w是载重
int ans = 0;
struct coin{
int price;
int heavy;
int num;
}a[maxn];
bool cmp(coin a,coin b){
return a.price>b.price;
}
int main(){
int c;
scanf("%d%d",&n,&w);
for(int i = 0;i<n;i++){
scanf("%d%d%d",&a[i].price,&a[i].heavy,&a[i].num);
}
sort(a,a+n,cmp);
for(int i = 0;i<n;i++){
if(w<=0)break;
w-=a[i].heavy;
ans+=a[i].price*a[i].num;
c = i;
}
if(w<0){
ans-=(0-w)*a[c].price;
}
printf("%d",ans);
return 0;
}