; a median-of-three killer sequence

(define (m3-killer n)
  (if (odd? n) (error 'm3-killer "length must be even")
    (let* ((k (/ n 2)) (ary (make-vector n #f)))
      (do ((i 1 (+ i 1))) ((< k i) ary)
        (when (odd? i)
          (vector-set! ary (- i 1) i)
          (vector-set! ary i (+ k i)))
        (vector-set! ary (+ k i -1) (+ i i))))))

(display (m3-killer 20)) (newline)