public static void Main()
Console.WriteLine(Trap(new int[] {0,1,0,2,1,0,1,3,2,1,2,1}));
Console.WriteLine(Trap(new int[] {4,2,0,3,2,5}));
Console.WriteLine(Trap(new int[] {4,2,3}));
public static int Trap(int[] height) {
for(int i = 0; i<height.Length;i++) {
if (height[i] == 0 || (lastJ > i)) continue;
for(int j =i+1; j < height.Length;j++){
if (height[j]>maxFromRest) {
for(int j =i+1; j < height.Length;j++){
if(height[j] >= height[i] || height[j] == maxFromRest) {
var min = Math.Min(height[i], height[j]);
for(var k = i+1; k<j; k++){
if(height[k] <= min) subRes += min - height[k];