Mai intai trebuie sa te autentifici.
Cod sursa(job #1985299)
| Utilizator | Data | 27 mai 2017 13:41:24 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <cstdio>
int d[10001];
int main (){
freopen ("rucsac.in","r",stdin);
freopen ("rucsac.out","w",stdout);
int maxx=0,n,g,i,a,b,j;
scanf ("%d %d",&n,&g);
for (i=1;i<=n;i++){
scanf ("%d %d",&a,&b);
for (j=g-a;j>=1;j--)
if (d[j]!=0 && d[j+a]<d[j]+b)
d[j+a]=d[j]+b;
if (d[a]<b)
d[a]=b;
}
for (i=1;i<=g;i++)
if (d[i]>maxx)
maxx=d[i];
printf ("%d",maxx);
return 0;
}
