1 条题解
-
1
chenpengda LV 4 MOD @ 4 年前
std:
- 1
信息
- ID
- 1006
- 难度
- (无)
- 分类
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者
std:
#include<bits/stdc++.h>
using namespace std;
int p[10005],v[10005],dp[10005],ans=-1;
bool s[10005];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>p[i]>>v[i]>>s[i];
for(int i=1;i<=n;i++)
{
for(int j=0;j<=m;j++)
{
if(j>=p[i])dp[j]=max(dp[j],dp[j-p[i]]+v[i]);
}
}
for(int i=1;i<=n;i++)
{
if(s[i]&&m>p[i])ans=max(ans,dp[m-p[i]]+v[i]);
}
if(ans==-1)
{
cout<<"Muffet traps you!";
}
else cout<<ans;
}