diff options
Diffstat (limited to 'codechef/spread2.lisp')
-rw-r--r-- | codechef/spread2.lisp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/codechef/spread2.lisp b/codechef/spread2.lisp new file mode 100644 index 0000000..db26024 --- /dev/null +++ b/codechef/spread2.lisp @@ -0,0 +1,14 @@ +(defun next (m result) + (if (> m 0) + (next (1- m) (+ (read) result)) + result)) + +(defun spread2 (n sum &optional (result 1)) + (if (< sum n) + (spread2 (- n sum) (next sum sum) (1+ result)) + (dotimes (i n result) (read)))) + +(let ((tests (read))) + (dotimes (i tests) + (format t "~a~&" (spread2 (1- (read)) (read))))) + |