Cod sursa(job #1825112)
| Utilizator | Data | 8 decembrie 2016 18:57:25 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <bits/stdc++.h>
#define NMax 5001
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,G;
int w[2 * NMax],p[2 * NMax],dp[2 * 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],dp[j - w[i]] + p[i]);
}
}
g << dp[G] << '\n';
return 0;
}
