Pagini recente » Cod sursa (job #2693139) | Cod sursa (job #643044) | Cod sursa (job #720890) | Cod sursa (job #974880) | Cod sursa (job #1371756)
#include <stdio.h>
#include <algorithm>
using namespace std;
#define MAXN 5000
#define MAXG 10000
int d[MAXN][MAXG];
struct obiecte
{
int w,p;
}v[MAXN];
int main()
{
FILE *fin,*fout;
fin=fopen("rucsac.in","r");
fout=fopen("rucsac.out","w");
int n,g;
fscanf(fin,"%d%d",&n,&g);
for(int i=1;i<=n;i++)
fscanf(fin,"%d%d",&v[i].w,&v[i].p);
for(int i=1;i<=n;i++)
for(int j=1;j<=g;j++)
{
d[i][j]=d[i-1][j];
if(v[i].w<=j)
d[i][j]=max(d[i][j],d[i-1][j-v[i].w]+v[i].p);
}
fprintf(fout,"%d",d[n][g]);
return 0;
}