P1802 5倍经验日
很水的一个背包
#include<iostream>
#include<cstring>
#include<algorithm>
#define int long long
using namespace std;
int n,k;
int Ariche[1001][1001];
int lo[1001],win[1001],use[1001];
int ans;
signed main(){
scanf("%d%d",&n,&k);
for(int i=1;i<=n;++i){
scanf("%d%d%d",&lo[i],&win[i],&use[i]);
}
for(int i=1;i<=n;++i){
for(int j=0;j<=k;++j){
if(j<use[i]){
Ariche[i][j]=Ariche[i-1][j]+lo[i];
}else{
Ariche[i][j]=max(Ariche[i-1][j]+lo[i],Ariche[i-1][j-use[i]]+win[i]);
}
}
}
for(int i=0;i<=k;++i){
ans=max(ans,Ariche[n][i]);
}
cout<<ans*5;
return 0;
}