Pagini recente » Cod sursa (job #1467602) | Cod sursa (job #2011677) | Cod sursa (job #1565742) | Cod sursa (job #2152131) | Cod sursa (job #1111627)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *f=fopen ("rucsac.in","r");
FILE *g=fopen ("rucsac.out","w");
struct obiecte{
int w,p;
}v[5005];
int D[2][10005];
int main(){
int n,s;
fscanf (f,"%d%d",&n,&s);
for (int i=1;i<=n;++i) fscanf (f,"%d%d",&v[i].w,&v[i].p);
int l=0;
for (int i=1;i<=n;++i,l=1-l){
for (int j=0;j<=s;++j){
D[1-l][j]=D[l][j];
if (v[i].w<=j){
D[1-l][j]=max(D[1-l][j],D[l][j-v[i].w]+v[i].p);
}
}
}
fprintf (g,"%d",D[l][s]);
return 0;
}