Cod sursa(job #2241725)
Utilizator | Data | 16 septembrie 2018 20:24:46 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <iostream>
using namespace std;
int main()
{
int n, W, i, j;
cin>>n>>W;
int v[n+1], w[n+1], m[n+1][W+1];
for(i=1;i<=n;i++)
cin>>w[i]>>v[i];
for(j=0;j<=W;j++)
m[0][j]=0;
for(i=1;i<=n;i++)
for(j=1;j<=W;j++)
if(w[i]>j)
m[i][j]=m[i-1][j];
else
m[i][j]=max(m[i-1][j], m[i-1][j-w[i]]+v[i]);
cout<<m[n][W];
return 0;
}