Cod sursa(job #2203404)
Utilizator | Radu Minea raduq | Data | 12 mai 2018 11:11:52 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<iostream>
#include<cstdio>
using namespace std;
int n,d[10001],i,G,val,g,j,sol;
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
cin>>n>>G;
for(i=1;i<=G;i++) d[i]=-1;
for(i=1;i<=n;i++)
{
cin>>g>>val;
for(j=G;j>=0;j--)
if(d[j]!=-1)
if(j+g<=G)
if(d[j]+val>d[j+g]) d[j+g]=d[j]+val;
}
for(i=0;i<=G;i++) if(d[i]>sol) sol=d[i];
cout<<sol;
return 0;
}