Mai intai trebuie sa te autentifici.
Cod sursa(job #3200540)
Utilizator | Data | 4 februarie 2024 22:59:06 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <bits/stdc++.h>
using namespace std;
int knapsack(int W, vector <int> &wt, vector <int> &val, int n)
{
vector <int> dp (W + 1, 0);
for (int i = 0; i < n; i++)
for (int w = W; w >= wt[i]; w--)
dp[w] = max(dp[w], dp[w - wt[i]] + val[i]);
return dp[W];
}
int main()
{
int n, W;
cin >> n >> W;
vector <int> val (n);
vector <int> wt (n);
for (int i = 0; i < n; i++)
cin >> wt[i] >> val[i];
cout << knapsack(W, wt, val, n);
}