#include<iostream> #include<string.h> using namespace std; int main(){ int N,M; while(cin>>N>>M){ int ti[310],vi[310],dp[310]; memset(dp,0,sizeof(dp)); for(int i=1;i<=N;i++){ cin>>ti[i]>>vi[i]; } for(int i=1;i<=N;i++){ for(int j=M;j>=ti[i];j--){ dp[j]=max(dp[j],dp[j-ti[i]]+vi[i]); } } cout<<dp[M]<<endl; } } |
Double click to view unformatted code.