Pagini recente » Cod sursa (job #1731747) | Cod sursa (job #3290143) | Cod sursa (job #485725) | Cod sursa (job #1712445) | Cod sursa (job #1985293)
#include <stdio.h>
#include <iostream>
using namespace std;
int d[10001];
int main(){
FILE *fin,*fout;
fin=fopen("rucsac.in","r");
fout=fopen("rucsac.out","w");
int n,g,x,y,maxim,i,j;
fscanf(fin,"%d%d",&n,&g);
for(j=1;j<=n;j++){
fscanf(fin,"%d%d",&x,&y);
for(i=g-x;i>=1;i--)
if(d[i]!=0)
if(d[i+x]<d[i]+y)
d[i+x]=d[i]+y;
if(d[x]<y)
d[x]=y;
}
maxim=-1;
for(i=1;i<=g;i++)
if(d[i]>maxim)
maxim=d[i];
fprintf(fout,"%d",maxim);
fclose(fin);
fclose(fout);
return 0;
}