评测记录
之前A过一次,但是是贪心,现在用了动规但是报RE最后四个点,求大佬帮忙看看
#include<bits/stdc++.h>
using namespace std;
int minn,maxx=0;
int c[105],v[105];
int dp[11451419];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>c[i]>>v[i];
if(i==1)minn=c[i];
else minn=min(minn,c[i]);
}
for(int i=1;i<=n;i++)
for(int j=m-minn;j>=c[i]-minn;j--)
if(j-c[i]>=0)dp[j]=max(dp[j],dp[j-c[i]]+v[i]);
else dp[j]=max(dp[j],v[i]);
cout<<dp[m-minn];
return 0;
}