Cod sursa(job #1000785)
| Utilizator | Data | 23 septembrie 2013 19:03:09 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 65 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include<fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int w[10001], p[10001], g, n, i, cw, optim[5001];
int sol, j;
int main() {
fin >> n >> g;
for (i = 1; i <= n; i++)
fin >> w[i] >> p[i];
for (i = 1; i <= n; i++)
for (j = g - w[i]; j >= 0; j--)
if (optim[j + w[i]] < optim[j] + p[i]){
optim[j + w[i]] = optim[j] + p[i];
if (optim[j + w[i]] > sol)
sol = optim[j + w[i]];
}
fout << sol;
}
