Cod sursa(job #2678922)
Utilizator | Dobre Darius Adrian Darius1414 | Data | 29 noiembrie 2020 01:53:43 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <iostream>
#define nmax 105
using namespace std;
unsigned long long n,mx,i,w[nmax],v[nmax],dp[nmax][nmax],j;
int main()
{
cin>>n>>mx;
for (i=1;i<=n;i++) cin>>w[i]>>v[i];
for (i=0;i<=n;i++)
for (j=0;j<=mx;j++)
{
if (i==0 || j==0) dp[i][j]=0;
else
{
if (w[i]>j) dp[i][j]=dp[i-1][j];
else dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i]);
}
}
cout<<dp[n][mx];
}