function max(x,y){
if(x>y){
return x
}else{
return y
}
}
const log=console.log
class Solution{
package_0_1(capacity,item_amount,profit,cost){
let backpack=new Array(capacity).fill(0)
for(let i=0;i<item_amount;i=i+1){
for(let v=capacity;v>=cost[i];v=v-1){
backpack[v]=max(backpack[v],backpack[v-cost[i]]+profit[i])
}
}
return backpack[capacity]
}
package_completed(capacity,item_amount,profit,cost){
let backpack=new Array(capacity).fill(0)
for(let i=0;i<item_amount;i=i+1){
for(let v=cost[i];v<=capacity;v=v+1){
backpack[v]=max(backpack[v],backpack[v-cost[i]]+profit[i])
}
}
return backpack[capacity]
}
}
s=new Solution()
log(s.package_0_1(70,3,[100,1,2],[71,69,1]))
log('max='+s.package_completed(12,4,[1,3,5,9],[2,3,4,7]))