Pagini recente » Cod sursa (job #1634831) | Cod sursa (job #1720566) | Cod sursa (job #2786337) | Cod sursa (job #1175766) | Cod sursa (job #1105583)
#include <fstream>
#define NMAX 10005
using namespace std;
FILE* f=freopen("rucsac.in","r",stdin);
FILE* o=freopen("rucsac.out","w",stdout);
int n,k;
int d[NMAX];
int w[5005],p[5005];
inline int maxim(int a, int b)
{
return (a>b)?a:b;
}
int main()
{
scanf("%d%d",&n,&k);
for(int i=1;i<=n;++i)
{
int x,y;
scanf("%d%d",&x,&y);
w[i]=x;
p[i]=y;
}
for(int j=1;j<=n;++j)
for(int i=k;i>0;--i)
if(i-w[j]>=0)
d[i]=maxim(d[i],d[i-w[j]]+p[j]);
printf("%d",d[k]);
return 0;
}