Pagini recente » Cod sursa (job #2009310) | Cod sursa (job #286830) | Cod sursa (job #1696079) | Cod sursa (job #885526) | Cod sursa (job #2396971)
#include <fstream>
#include <queue>
using namespace std ;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int g[5020];
int v[5020];
int dp[10020];
int main(){
int n,G;int i,j;
fin>>n>>G;
for( i=1;i<=n;i++)
fin>>g[i]>>v[i];
for(j=G-g[i];j>=0;j++)
if(dp[j]!=0 || j==0)
dp[j+g[i]]=max(dp[j+g[i]],dp[j]+v[i]);
int tfisthishit=0;
for(i=G;i>=1;i--)
if(dp[i])tfisthishit=max(tfisthishit, dp[i]);
fout<<tfisthishit;
}