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