Pagini recente » Cod sursa (job #321866) | Cod sursa (job #1929932) | Cod sursa (job #2337124) | Cod sursa (job #757628) | Cod sursa (job #1985300)
int d[10001];
#include<stdio.h>
using namespace std;
struct da{
int gr,put;
};
da v[5001];
int main(){
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int n,g,i,j,s,maxx;
scanf("%d%d",&n,&g);
for(i=1;i<=n;i++)
scanf("%d%d",&v[i].gr,&v[i].put);
d[v[1].gr]=v[1].put;
for(i=2;i<=n;i++){
for(j=g-v[i].gr;j>=0;j--){
if(d[j]!=0){
s=d[j]+v[i].put;
if(s>d[j+v[i].gr])
d[j+v[i].gr]=s;
}
}
if(d[v[i].gr]<v[i].put)
d[v[i].gr]=v[i].put;
}
maxx=-1;
for(i=1;i<=g;i++)
if(d[i]>maxx)
maxx=d[i];
printf("%d",maxx);
return 0;
}