Cod sursa(job #1917319)
Utilizator | Data | 9 martie 2017 11:56:53 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
const int NMax = 10003;
int n,G;
int w[NMax],p[NMax],dp[NMax];
int main()
{
f >> n >> G;
for(int i = 1; i <= n; ++i)
f >> w[i] >> p[i];
for(int i = 1; i <= n; ++i)
for(int j = G; j >= w[i]; --j)
dp[j] = max(dp[j - w[i]] + p[i], dp[j]);
g << dp[G] << '\n';
return 0;
}