Pagini recente » Cod sursa (job #1804919) | Cod sursa (job #767304) | Cod sursa (job #1906673) | Cod sursa (job #3162978) | Cod sursa (job #3226177)
#include <bits/stdc++.h>
using namespace std;
#define TITLE "rucsac"
#define ll long long
#define MaxN 5010
ifstream f (TITLE".in");
ofstream g (TITLE".out");
ll dp[10010];
int v[MaxN];
int solve()
{
int n;
f>>n;
ll MaxWeight;
f>>MaxWeight;
for(int i=1; i<=n; i++)
{
ll G,P;
f>>G>>P;
for(int j=max((ll)(0),MaxWeight-G); j>0; j--)
if(dp[j]!=0)
dp[j+G]=max(dp[j+G],dp[j]+P);
dp[G]=max(dp[G],P);
}
ll answer=0;
for(int i=1; i<=MaxWeight; i++)
answer=max(answer,dp[i]);
g<<answer;
return 0;
}
int main()
{
solve();
return 0;
}