Pagini recente » Cod sursa (job #935100) | Cod sursa (job #2342731) | Cod sursa (job #2264465) | Cod sursa (job #1737699) | Cod sursa (job #1487065)
#include<cstdio>
#include<cstring>
int n,i,j,nmax,s,x[10100],y[10100],m[10100],c[10100];
FILE *f,*g;
int maxim(int a,int b){
if(a>b)
return a;
return b;
}
int main(){
f=fopen("rucsac.in","r");
g=fopen("rucsac.out","w");
fscanf(f,"%d%d",&n,&s);
for(i=1;i<=n;i++){
fscanf(f,"%d%d",&m[i],&c[i]);
}
y[ m[1] ]=c[1];
for(i=2;i<=n;i++){
memcpy(x,y,sizeof(y));
for(j=0;j<=s;j++){
if(m[i]<=j)
y[j]=maxim( x[j] , x[ j - m[i] ] + c[i] );
else
y[j]=x[j];
}
}
for(i=1;i<=s;i++){
nmax=maxim(nmax,y[i]);
}
fprintf(g,"%d",nmax);
fclose(f);
fclose(g);
return 0;
}