Cod sursa(job #1163123)
Utilizator | Crestez Paul iarba | Data | 1 aprilie 2014 10:28:09 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <cstdio>
using namespace std;
int a[10001],w,p,i,g,n,v;
int max(int x, int y){if(x>y){return x;}return y;}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d",&n,&g);a[0]=1;
while(n--){
scanf("%d%d",&w,&p);
for(i=g-w;i>=0;i--){a[i+w]=max(a[i+w],a[i]+p);}
}
v=0;
for(i=g;i>=0;i--){v=max(v,a[i]);}
printf("%d",v-1);
return 0;
}