Mai intai trebuie sa te autentifici.
Cod sursa(job #1947698)
| Utilizator | Data | 31 martie 2017 10:39:44 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 35 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.72 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, G, D[5001][10001];
struct obiect {
int val, greu;
}v[5001];
int main () {
fin >> n >> G;
for (int i = 1; i <= n; i++)
fin >> v[i].greu >> v[i].val;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= G; j++) {
D[i][j] = D[i-1][j];
if (v[i].greu <= j) {
D[i][j] = max(D[i][j], D[i-1][j - v[i].greu] + v[i].val);
}
}
}
/*for (int i = 1; i <= n; i++) {
for (int j = 1; j <= G; j++) {
fout << D[i][j] << " ";
}
fout << '\n';
}*/
fout << D[n][G];
}
