Cod sursa(job #919874)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 19 martie 2013 21:18:06
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<stdio.h>
int a[10000];
int g[5000];
int p[5000];
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int n,ge,i,j,t,sol;
sol=0;
scanf("%d%d",&n,&ge);	
for(i=1;i<=n;i++)
scanf("%d%d",&g[i],&p[i]);
a[0]=0;
for(i=1;i<=n;i++)
{
for(j=ge-g[i];j>=0;j--) 
if(a[j]!=0 || j==0)
{
if(a[j+g[i]]<a[j]+p[i])
{
a[j+g[i]]=a[j]+p[i];
if(a[j+g[i]]>sol)
sol=a[j+g[i]];
}
}
}
printf("%d", sol);
return 0;
}