Pagini recente » Cod sursa (job #131868) | Cod sursa (job #2657883) | Cod sursa (job #1679018) | Cod sursa (job #1764617) | Cod sursa (job #1781671)
#include<stdio.h>
#define MAXN 5001
#define MAXG 10001
int Greutate,Profite;
int Best[MAXG];
int main()
{
FILE*fin=fopen("rucsac.in","r");
FILE*fout=fopen("rucsac.out","w");
int N,G;
fscanf(fin,"%d%d",&N,&G);
for(int i=1; i<=N; i++)
{
int g,p;
fscanf(fin,"%d%d",&Greutate,&Profite);
for(int k=G-Greutate; k>=0; k--)
{
if(Best[k]+Profite>Best[k+Greutate])
{
Best[k+Greutate]=Best[k]+Profite;
}
}
}
int ans=0;
for(int i=0; i<=G; i++)
{
if(Best[i]>ans)
{
ans=Best[i];
}
}
fprintf(fout,"%d\n",ans);
}