Pagini recente » Rating Popescu Eugen (Guardian) | Cod sursa (job #1722479) | Cod sursa (job #853934) | Cod sursa (job #1768804) | Cod sursa (job #741132)
Cod sursa(job #741132)
#include<fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
const int N = 5001;
int g[N],p[N],v[10001];
int main()
{
int i,j,n,k;
v[0]=0;
in>>n>>k;
for(j=1;j<=n;j++)
in>>g[j]>>p[j];
v[0]=0;
for(j=1;j<=k;j++)
v[j]=-1;
for(i=1;i<=n;i++)
for(j=k-g[i];j>=0;j--)
if(v[j]!=-1 && v[j]+p[i]>v[j+g[i]])
v[j+g[i]]=v[j]+p[i];
int max = 0;
for(j=1 ; j<=k ; j++)
if(v[j] > max)
max = v[j];
out<<max<<'\n';
return 0;
}