Pagini recente » Cod sursa (job #3126104) | Cod sursa (job #2153857) | Cod sursa (job #3246528) | Cod sursa (job #1629657) | Cod sursa (job #904264)
Cod sursa(job #904264)
#include <stdio.h>
#include <algorithm>
using namespace std;
FILE *f,*s;
int m,n,i,j;
struct obiect
{
int x;
int y;
};
obiect v1[50005];
int v2[2][10005];
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;
}