Pagini recente » Cod sursa (job #2470549) | Cod sursa (job #631944) | Cod sursa (job #941363) | Cod sursa (job #1840176) | Cod sursa (job #1778828)
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int v[10001];
int maxim(int a, int b){
if(a<b)
a=b;
return a;
}
int main()
{
FILE *fin, *fout;
int n,gmax,g,val,max,i;
fin=fopen("rucsac.in","r");
fout=fopen("rucsac.out","w");
fscanf(fin,"%d%d",&n,&gmax);
max=0;
v[0]=0;
for(n;n>0;n--){
fscanf(fin,"%d%d",&g,&val);
for(i=gmax;i>=g;i--){
if(v[i-g]!=0 || i==g)
v[i]=maxim(v[i],v[i-g]+val);
}
}
max=0;
for(gmax;gmax>=0;gmax--){
max=maxim(max,v[gmax]);
}
fprintf(fout,"%d",max);
return 0;
}