Pagini recente » Cod sursa (job #714658) | Cod sursa (job #2875615) | Cod sursa (job #1369825) | Cod sursa (job #142999) | Cod sursa (job #2483782)
#include <cstdio>
using namespace std;
int n,g,v[10003],v1[10003],dinamica[100003],maxim1;
int maxim (int nr1,int nr2)
{
if(nr1>nr2)
return nr1;
return nr2;
}
int main ()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d", &n, &g);
for(int i=1;i<=n;++i)
scanf("%d%d", &v[i], &v1[i]);
for(int i=1;i<=n;++i)
for(int j=g;j-v[i]>=0;--j)
dinamica[j]=maxim(dinamica[j-v[i]]+v1[i],dinamica[j]);
for(int i=1;i<=g;++i)
if(dinamica[i]>maxim1)
maxim1=dinamica[i];
printf("%d", maxim1);
return 0;
}