Pagini recente » Cod sursa (job #654805) | Cod sursa (job #998650) | Cod sursa (job #257595) | Cod sursa (job #383880) | Cod sursa (job #1921579)
#include <stdio.h>
using namespace std;
FILE*f=fopen("rucsac.in","r");
FILE*g=fopen("rucsac.out","w");
int mx,gmax,n,i,j,gu[10001],c[10001],cmax[20001];
int main()
{fscanf(f,"%d%d",&n,&gmax);
for(i=1;i<=n;i++) fscanf(f,"%d%d",&gu[i],&c[i]);
cmax[0]=0;
for(i=1;i<=n;i++){
int mmax=0;
for(j=mx;j>=0;j--){
if(cmax[j+gu[i]]<cmax[j]+c[i]&&j+gu[i]<=gmax&&(!j||cmax[j])){
cmax[j+gu[i]]=cmax[j]+c[i];
if(gu[i]+j>mx) mx=gu[i]+j;
}
}
}
int mmax=0;
for(i=0;i<=gmax;i++) if(cmax[i]>mmax) mmax=cmax[i];
fprintf(g,"%d",mmax);
fclose(f);
fclose(g);
return 0;
}