1
var sumSubarrayMins = function (arr) {
2
M = 10 ** 9 + 7;
3
stack = [-1];
4
res = 0;
5
arr.push(0);
6

7
for (let i2 = 0; i2 < arr.length; i2++) {
8
while (arr[i2] < arr[stack[stack.length - 1]]) {
9
i = stack.pop();
10
i1 = stack[stack.length - 1];
11
Left = i - i1;
12
Right = i2 - i;
13
res += Left * Right * arr[i];
14
}
15
stack.push(i2);
16
}
17

18
return res % M;
19
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0