Pagini recente » Cod sursa (job #2980339) | Cod sursa (job #3172446) | Cod sursa (job #222474) | Cod sursa (job #2499588) | Cod sursa (job #2414628)
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int v[10001];
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int n,gmax,g,p,i,j,max1,nr;
cin>>n>>gmax;
cin>>g>>p;
v[g]=p;
for(i=2;i<=n;i++){
cin>>g>>p;
for(j=gmax-g;j>=1;j--)
if(v[j]!=0 && j+g<=gmax){
nr=p+v[j];
if(nr>v[g+j])
v[g+j]=nr;
}
if(p>v[g])
v[g]=p;
}
max1=0;
for(i=1;i<=gmax;i++)
if(v[i]>max1)
max1=v[i];
cout<<max1;
return 0;
}