Pagini recente » Cod sursa (job #1816259) | Cod sursa (job #1996195) | Cod sursa (job #3031789) | Cod sursa (job #2114663) | Cod sursa (job #2047594)
#include <iostream>
#include <cstdio>
using namespace std;
int d[10001];
int main()
{
FILE *fin, *fout;
int n,i,g,gmax,G,p,j,maxim;
fin=fopen("rucsac.in","r");
fout=fopen("rucsac.out","w");
fscanf(fin,"%d %d\n",&n,&G);
d[0]=1;
gmax=maxim=0;
for(i=0;i<n;i++){
fscanf(fin,"%d %d\n",&g,&p);
for(j=gmax;j>=0;j--)
if(d[j] && j+g<=G){
d[j+g]=max(d[j+g],p+d[j]);
maxim=max(maxim,d[j+g]);
gmax=max(gmax,j+g);
}
}
fprintf(fout,"%d\n",maxim-1);
fclose(fin);
fclose(fout);
return 0;
}