Cod sursa(job #2709032)
Utilizator | Data | 19 februarie 2021 17:34:31 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n, gr, dp[10005], pret[10005], greutati[10005];
void citire() {
f >> n >> gr;
for (int i = 1; i <= n; ++i)
f >> greutati[i] >> pret[i];
}
void dinamica() {
for (int i = 1; i <= n; ++i)
for (int j = gr; j >= greutati[i]; --j)
dp[j]=max(dp[j],dp[j-greutati[i]]+pret[i]);
}
int main() {
citire();
dinamica();
g << dp[gr];
return 0;
}