Pagini recente » Cod sursa (job #2791642) | Cod sursa (job #1480647) | Cod sursa (job #1951978) | Cod sursa (job #3197463) | Cod sursa (job #1044364)
#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;
}