RosettaCodeData/Task/Water-collected-between-towers/Mathematica/water-collected-between-towers.math
2023-07-01 13:44:08 -04:00

18 lines
457 B
Text

ClearAll[waterbetween]
waterbetween[h_List] := Module[{mi, ma, ch},
{mi, ma} = MinMax[h];
Sum[
ch = h - i;
Count[
Flatten@
Position[
ch, _?Negative], _?(Between[
MinMax[Position[ch, _?NonNegative]]])]
,
{i, mi + 1, ma}
]
]
h = {{1, 5, 3, 7, 2}, {5, 3, 7, 2, 6, 4, 5, 9, 1, 2}, {2, 6, 3, 5, 2,
8, 1, 4, 2, 2, 5, 3, 5, 7, 4, 1}, {5, 5, 5, 5}, {5, 6, 7, 8}, {8,
7, 7, 6}, {6, 7, 10, 7, 6}};
waterbetween /@ h