min Work Needed
let minWorkNeeded = function(arr)
{
let i=0;
let arr1=[];
let total =0;
let extra =0;
let j =0;
while(i<arr.length)
{
if(arr[i]<0)
{
extra = Math.abs(arr[i]); //3 index =3
}
j=0;
while(j<arr.length && extra>0)
{
if(arr[j]>0)
{
let curi = j; //0
let curr = arr[j]; //5 1
let index = j-i; //0-1 3-0
index = Math.abs(index); //1; 3
let min = Math.min(extra,curr); //4; 1
extra = Math.abs(min - extra); //0;
let cal = min*index; //4;
arr[j] = curr-min; //1
total = total+cal; //4
if(extra == 0)
{
arr[i] =0;
}
console.log(curi,curr,index,min,extra,cal,total)
console.log(arr);
}
j++;
}
i++;
}
return total;
}
console.log(minWorkNeeded([5,-4,1,-3,1]))
console.log(minWorkNeeded([-1000, -1000, -1000, 1000, 1000, 1000]))
console.log(minWorkNeeded([-1,-1,-1,3,0])) // orginal output 6
console.log(minWorkNeeded([-1,4,-1,-9,7])) // 13
console.log(minWorkNeeded([-1,4,-2,1,-2,-1,4,-2,1,-2]))// 14
console.log(minWorkNeeded([-1,4,-1,-9,7,-1,1]))