Cod sursa(job #2445445)
Utilizator | Data | 4 august 2019 03:43:39 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <iostream>
#include <fstream>
using namespace std;
int n,m,i,j;
int w[5086],v[5086];
int dp[2][5086];
int main()
{
f>>n>>m;
for(i=1;i<=n;i++)
f>>w[i]>>v[i];
int p=0;
for(i=1;i<=n;i++,p=1-p)
for(int g=0;g<=m;g++)
{
dp[1-p][g] = dp[p][g];
if(g>=w[i]){
dp[1-p][g] = max(dp[1-p][g],dp[p][g-w[i]]+v[i]);
}
}
g<<dp[p][m];
}