Pagini recente » Istoria paginii utilizator/faratitlu | Profil rockoana | Diferente pentru autumn-warmup-2007/solutii/runda-2 intre reviziile 39 si 38 | Istoria paginii utilizator/lostfan | Cod sursa (job #2014144)
#define DM 10001
#include <fstream>
using namespace std;
ifstream fi ("rucsac.in");
ofstream fo ("rucsac.out");
int dp[DM], n, a, b, g, mx;
int main()
{
fi >> n >> g;
for (int i = 1; i <= n; ++i)
{
fi >> a >> b;
for (int j = g; j > a; --j)
if (dp[j-a])
dp[j] = max(dp[j-a] + b, dp[j]);
dp[a] = max(dp[a], b);
}
for (int i = 1; i <= g; ++i)
mx = max(mx, dp[i]);
fo << mx;
return 0;
}