Lisp Min Avg Two Slice
(defun min-avg-two-slice (a)
  (let* ((vec (coerce a 'vector))
         (count (length vec))
         (idx 0)
         (min (/ (+ (aref vec 0) (aref vec 1)) 2.0)))
    (loop for i from 0 below (1- count)
          do (let ((cur (/ (+ (aref vec i) (aref vec (1+ i))) 2.0)))
               (when (< (+ i 2) count)
                 (let ((three (/ (+ (aref vec i) (aref vec (1+ i)) (aref vec (+ i 2))) 3.0)))
                   (setf cur (min cur three))))
               (when (< cur min)
                 (setf min cur)
                 (setf idx i))))
    idx))

This leans on the key trick for this problem: the minimum average slice is always length 2 or 3.