Cod sursa(job #3143508)
Utilizator | Data | 30 iulie 2023 19:41:12 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int n,g,dp[10005];
int main()
{
cin >> n >> g;
vector<pair<int,int>> v(n+1);
for(int i=1; i <= n; i++)
cin >> v[i].first >> v[i].second;
for(int i = 1; i <= n; ++i)
{
for(int j = g; j >= v[i].first; --j)
{
dp[j] = max(dp[j], dp[j - v[i].first] + v[i].second);
}
}
cout << dp[g];
return 0;
}