Pagini recente » Istoria paginii utilizator/noemie | Cod sursa (job #1363683) | Istoria paginii utilizator/vladcamarasoiu | Cod sursa (job #1825648) | Cod sursa (job #3280043)
#include <iostream>
#include <fstream>
std::ifstream fin("rucsac.in");
std::ofstream fout("rucsac.out");
#define MOD 1000000007
int dp[5001][5001];
int w[5001];
int p[5001];
int main()
{
int n, g;
fin >> n >> g;
for(int i = 1; i <= n; i++)
{
fin >> w[i] >> p[i];// weight , power
}
for(int i = 1; i <=n ;i++)
{
for(int curg = 0; curg <= g; curg++)
{
//luam rpirma data suma anteriaora
dp[i][curg] = dp[i - 1][curg];
//verif daca nu am intrecut limita de greutate
if(w[i] <= curg)
{
dp[i][curg] = std::max(dp[i][curg], dp[i - 1][curg - w[i]] + p[i]);
}
}
}
fout << dp[n][g];
return 0;
}