Cod sursa(job #765533)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 8 iulie 2012 00:28:14
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<cstdio>
int g[5001],c[5001],s[10001],s1[10001],m,n,i,j,t;
int main()
{freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
       scanf("%d%d",&g[i],&c[i]);
s[g[1]]=c[1];
for(i=2;i<=n;i++)
       {for(j=1;j<=m;j++)
               s1[j]=s[j];
       if(s1[g[i]]<c[i])
               s[g[i]]=c[i];
       for(j=1;j<=m-g[i];j++)
       if(s1[j+g[i]]<s1[j]+c[i])
               s[j+g[i]]=s1[j]+c[i];}
t=s[1];
for(i=2;i<=m;i++)
if(t<s[i])
       t=s[i];     
printf("%d",t);
return 0;}