Pagini recente » Cod sursa (job #1214101) | Cod sursa (job #585422) | Cod sursa (job #917550) | Cod sursa (job #1065483) | Cod sursa (job #904261)
Cod sursa(job #904261)
#include <stdio.h>
#include <algorithm>
using namespace std;
FILE *f,*s;
int m,n,i,j;
struct obiect
{
int x;
int y;
};
obiect v1[5005];
int v2[2][1005];
int main()
{
f=fopen("rucsac.in","r");
s=fopen("rucsac.out","w");
fscanf(f,"%d %d",&n,&m);
for(i=1;i<=n;i++)
fscanf(f,"%d %d",&v1[i].x,&v1[i].y);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
v2[2][j]=v2[1][j];
if(v1[i].x <= j)
v2[2][j]=max(v2[2][j],v2[1][j-v1[i].x]+v1[i].y);
}
for(j=1;j<=m;j++) v2[1][j]=v2[2][j];
}
fprintf(s,"%d",v2[2][m]);
fclose(s);
return 0;
}