Pagini recente » Cod sursa (job #3242613) | Cod sursa (job #765836) | Cod sursa (job #642882) | Cod sursa (job #798604) | Cod sursa (job #790024)
Cod sursa(job #790024)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *f,*g;
struct cp{int g,p;} v[5060];
int sol[10100];
int i,j,n,gr;
int main() {
f=fopen("rucsac.in","r");
g=fopen("rucsac.out","w");
fscanf(f,"%d%d",&n,&gr);
for (i=1;i<=n;i++)
fscanf(f,"%d%d",&v[i].g,&v[i].p);
sol[v[1].g]=v[1].p;
for (i=2;i<=n;i++)
for (j=gr;j>=1;j--) {
if (j-v[i].g>=0)
sol[j]=max(sol[j-v[i].g]+v[i].p,sol[j]);
}
int mx=-1;
for (i=1;i<=gr;i++)
if (mx<sol[i]) mx=sol[i];
fprintf(g,"%d",mx);
return 0;
}