Cod sursa(job #1497729)
Utilizator | Stelian Chichirim stelian2000 | Data | 7 octombrie 2015 11:12:44 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <cstdio>
using namespace std;
int v[10010];
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int maxx=-1,n,m,x,y;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&x,&y);
for(int j=m-x;j>=0;j--) if(v[j]>0)
{
if(v[j]+y>v[j+x]) v[j+x]=v[j]+y;
if(v[j+x]>maxx) maxx=v[j+x];
}
if(y>v[x]) v[x]=y;
if(v[x]>maxx) maxx=v[x];
}
printf("%d",maxx);
return 0;
}