Cod sursa(job #1450060)
| Utilizator | Data | 11 iunie 2015 12:17:55 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
const int MAX = 1e4 + 1;
int g, n, w, p, dp[MAX], maxx;
int main(){
fin >> n >> g;
for (int i = 1; i < MAX; i++)
dp[i] = -1;
for (; n; n--){
fin >> w >> p;
for (int i = g; i >= w; i--)
dp[i] = max(dp[i], dp[i - w] + p);
}
for (int i = 0; i <= g; i++)
maxx = max(dp[i], maxx);
fout << maxx;
return 0;
}
