; brush strokes
(define (f x)
(do ((x x (cdr x)) (p 0 (car x))
(s 0 (+ s (max (- (car x) p) 0))))
((null? x) s)))
(display (f '(1 4 3 2 3 1))) (newline)
(display (f '(4 1 2 1 2 2))) (newline)
OyBicnVzaCBzdHJva2VzCgooZGVmaW5lIChmIHgpCiAgKGRvICgoeCB4IChjZHIgeCkpIChwIDAgKGNhciB4KSkKICAgICAgIChzIDAgKCsgcyAobWF4ICgtIChjYXIgeCkgcCkgMCkpKSkKICAgICAgKChudWxsPyB4KSBzKSkpCgooZGlzcGxheSAoZiAnKDEgNCAzIDIgMyAxKSkpIChuZXdsaW5lKQoKKGRpc3BsYXkgKGYgJyg0IDEgMiAxIDIgMikpKSAobmV3bGluZSk=