Pagini recente » Cod sursa (job #3266455) | Cod sursa (job #3290011) | Cod sursa (job #2929264) | Cod sursa (job #314296) | Cod sursa (job #3200389)
// #include <iostream>
#include <fstream>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int n,gmax;
int g[5002],p[5002],mat[5002][10002];
int main()
{
cin>>n>>gmax;
for(int i=1;i<=n;++i)
cin>>g[i]>>p[i];
for(int i=1;i<=n;++i)
for(int j=0;j<=gmax;++j){
int l=i%2;
mat[l][j]=mat[1-l][j];
if(j>=g[i])
mat[l][j]=max(mat[l][j],p[i]+mat[1-l][j-g[i]]);
}
cout<<mat[n%2][gmax];
return 0;
}