Cod sursa(job #2635449)
| Utilizator | Data | 14 iulie 2020 15:22:40 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 65 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <fstream>
#define nmax 5003
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int main(){
int n, total_weight;
int value[nmax + 1], weights[nmax + 1], dp[nmax + 1 ] = {0};
f >> n >> total_weight;
for(int i = 0; i < n; i++){
f >> weights[i] >> value[i];
}
for(int i = 0 ; i < n; i++){
for( int j = total_weight; j >= weights[i]; j--){
if(j >= weights[i])
dp[j] = max(dp[j - weights[i]] + value[i],dp[j]);
}
}
g << dp[total_weight] <<"\n";
}