Pagini recente » Cod sursa (job #2839032) | Monitorul de evaluare | Cod sursa (job #1632774) | Cod sursa (job #2988306) | Cod sursa (job #1478280)
#include <stdio.h>
#define inf 0x3f3f3f3f
#define nmax 10010
using namespace std;
int n,m,i,j,x,y,dp[nmax],sol;
inline int max(int a,int b) { if (a>b) return a; else return b; }
int main() {
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d %d",&n,&m);
for (i=1;i<=n;i++) {
scanf("%d %d",&x,&y);
for (j=m-x;j>=0;j--) dp[j+x]=max(dp[j+x],dp[j]+y);
}
sol=0;
for (i=1;i<=m;i++) sol=max(sol,dp[i]);
printf("%d",sol);
return 0;
}