<script>
function
removeSmallest(arr1, arr2)
{
var
min = Math.min(...arr1);
return
arr2.filter(e => e != min);
}
function
add(accumulator, a) {
return
accumulator + a;
}
function
max_pow(arr1, arr2){
let count = 0
arr1.forEach(e=>{
if
(e == 1)
count += 1
})
let cost1 = []
let i = 0
arr1.forEach(e=>{
if
(e == 1){
cost1.push(arr2[i])
}
i += 1
})
let val = Math.min(...cost1)
arr2 = removeSmallest(cost1,arr2)
arr2.sort(
function
(a, b){
return
a - b})
arr2.reverse()
let ans = 0
if
(arr2.length == count-1)
ans = (arr2.reduce(add,0))*2 + val
else
ans = val + arr2.reduce(add,0)+(arr2.slice(0,count)).reduce(add,0)
return
ans
}
let N = 5
let arr_type = [1, 0, 1, 0, 1]
let arr_power = [3, 2, 7, 12, 5]
document.write(max_pow(arr_type, arr_power))
</script>