1. A – Append s
(defun solve (S)
(concatenate 'string S "s"))
(defun main()
(princ (solve (read-line))))
#-swank(main)
Code language: Lisp (lisp)

2. B – Horizon
精度を上げるために、double-floatにして計算し、出力時には末尾の d0 をなくすように、”~f”のフォーマットを使いました。
(defun horizon (x)
(declare (type number x))
(sqrt (* x (+ 12800000d0 x))))
(defun main ()
(format t "~f" (horizon (read))))
#-swank(main)
Code language: Lisp (lisp)

3. C – Vacation Together
縦に比較できるように、まずは二次元配列にデータを入れて、それから連続日数を取得しました。
いったん、連続日数をリストにしてから最大値を求めました。
(defun make-ok-days-2d (Sn)
(declare (type list Sn))
(let ((vec2d (make-array (list (length Sn) (length (car Sn)))
:element-type 'boolean
:initial-element t)))
(loop for str in Sn
for mem from 0
do (loop for ch across str
for day from 0
do (setf (aref vec2d mem day)
(if (char= ch #\o) t nil)))
finally (return vec2d))))
(defun maximum-continual-ok-days (vec2d)
(reduce #'max
(loop for day below (array-dimension vec2d 1)
with continued = 0
if (loop for mem below (array-dimension vec2d 0)
always (aref vec2d mem day))
collect (incf continued)
else
collect (setf continued 0))))
(defun main ()
(let* ((N (read))
(D (read))
(Sn (loop repeat N collect (read-line))))
(declare (ignore D))
(princ (maximum-continual-ok-days
(make-ok-days-2d Sn)))))
#-swank(main)
#+swank(defparameter *Sn* '("xooox" "oooxx" "oooxo"))
Code language: PHP (php)
