Pagini recente » Cod sursa (job #378680) | Cod sursa (job #800114) | Cod sursa (job #2310083) | Cod sursa (job #278470) | Cod sursa (job #1322924)
#include <iostream>
#include <stdio.h>
using namespace std;
struct produs{
int g,p;
};
produs v[5000];
int main()
{
int profit[5000];
int m,k,n;
FILE *in,*out;
in=fopen("rucsac.in","r");
fscanf(in,"%d%d",&n,&k);
for(int i=1;i<=n;i++){
fscanf(in,"%d%d",&v[i].g,&v[i].p);
}
for(int i=1;i<=k;i++) profit[i]=-1;
profit[0]=0;
for(int i=1;i<=n;i++){
for(int j=k-v[i].g;j>=0;j--){
if(profit[j]!=-1&&profit[j]+v[i].p>profit[j+v[i].g])
profit[j+v[i].g]=profit[j]+v[i].p;
}
}
out=fopen("rucsac.out","w");
fprintf(out,"%d",profit[k]);
return 0;
}