(println
(map
(fn[x](apply max(map #(-(apply max(% 1))(apply min(% 0)))(map #(split-at % x)(range 1(count x))))))
[
[1,2,3,4,5] ; 4
[1,99,2,105] ; 104
[99,1,99,100] ; 99
[99,1,1,2,1,3] ; 2
[5,4,3,3,1] ; 0
[5,4,3,1] ; -1
[5,2,1] ; -1
[5,4,1] ; -1
[55,45,20,1] ; -10
[5,1] ; -4
[10,7,5,1] ; -2
]))
KHByaW50bG4gCiAgKG1hcCAKICAgIChmblt4XShhcHBseSBtYXgobWFwICMoLShhcHBseSBtYXgoJSAxKSkoYXBwbHkgbWluKCUgMCkpKShtYXAgIyhzcGxpdC1hdCAlIHgpKHJhbmdlIDEoY291bnQgeCkpKSkpKQoJWwoJCVsxLDIsMyw0LDVdICAgIDsgNAoJCVsxLDk5LDIsMTA1XSAgIDsgMTA0CgkJWzk5LDEsOTksMTAwXSAgOyA5OQoJCVs5OSwxLDEsMiwxLDNdIDsgMgoJCVs1LDQsMywzLDFdICAgIDsgMAoJCVs1LDQsMywxXSAgICAgIDsgLTEKCQlbNSwyLDFdICAgICAgICA7IC0xCgkJWzUsNCwxXSAgICAgICAgOyAtMQoJCVs1NSw0NSwyMCwxXSAgIDsgLTEwCgkJWzUsMV0gICAgICAgICAgOyAtNAoJCVsxMCw3LDUsMV0gICAgIDsgLTIKCV0pKQ==