1. A – Candy Cookie Law
「有罪」の条件を、andで評価しました。
(defun guilty-p (a b c d)
(and (>= c a) (< d b)))
(defun main ()
(let* ((a (read))
(b (read))
(c (read))
(d (read)))
(format t "~a" (if (guilty-p a b c d)
"Yes" "No"))))
#-swank
(main)Code language: Lisp (lisp)

2. B – A Substring
subseqは、sequence の start+1 から end までの部分列を取るので、end に後ろからの数を与えました。
(defun substring (str a b)
(subseq str a (- (length str) b)))
(defun main ()
(let* ((n (read))
(a (read))
(b (read))
(str (read-line)))
(declare (ignore n))
(princ (substring str a b))))
#-swank
(main)
Code language: Lisp (lisp)

3. C – Garbage Collection
ルールとクエリは、ドットリストで記録して、ベクタでまとめました。
(defun collect-day (trash day rules)
(declare (type fixnum trash day)
(type (simple-array cons (*))))
(let* ((rule (aref rules (1- trash)))
(qi (car rule))
(ri (cdr rule)))
(multiple-value-bind (q r) (floor day qi)
(cond ((<= r ri) (+ ri (* qi q)))
(t (+ ri (* qi (1+ q))))))))
(defun read-pairs (n)
(let* ((vec (make-array n :element-type 'cons)))
(loop for i from 0 below n
do (setf (aref vec i)
(cons (read) (read)))
finally (return vec))))
(defun main ()
(let* ((n (read))
(rules (read-pairs n))
(q (read))
(queries (read-pairs q)))
(loop for query across queries
do (print (collect-day (car query)
(cdr query) rules)))))
#-swank(main)
Code language: Lisp (lisp)
