天天看點

P1802 5倍經驗日

​​傳送門​​

思路:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll inf = 0x3f3f3f3f;
ll lo[1010];
ll wi[1010];
ll num[1010];
ll dp[1010];

int main()
{
  ll n,x;
  cin>>n>>x;
  for(ll i = 1; i <= n; i++)
  {
    cin>>lo[i]>>wi[i]>>num[i];
  }
  for(ll i = 1; i <= n; i++)
  {
    for(ll j = x; j >= 0; j--)
    {
      if(j >= num[i])
      {
      dp[j] = max(dp[j]+lo[i],dp[j-num[i]]+wi[i]);
      
      }
      else
      {
        dp[j] += lo[i];
      }
    }
  }
  printf("%lld\n",dp[x]*5);
}