結果

問題 No.38 赤青白ブロック
ユーザー Common LispCommon Lisp
提出日時 2024-10-25 11:52:03
言語 Common Lisp
(sbcl 2.3.8)
結果
AC  
実行時間 2,266 ms / 5,000 ms
コード長 1,088 bytes
コンパイル時間 268 ms
コンパイル使用メモリ 33,884 KB
実行使用メモリ 86,500 KB
最終ジャッジ日時 2024-10-25 11:53:08
合計ジャッジ時間 63,414 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2,208 ms
86,496 KB
testcase_01 AC 2,266 ms
82,432 KB
testcase_02 AC 2,255 ms
86,248 KB
testcase_03 AC 2,248 ms
82,304 KB
testcase_04 AC 2,208 ms
82,300 KB
testcase_05 AC 2,194 ms
84,212 KB
testcase_06 AC 2,249 ms
82,308 KB
testcase_07 AC 2,241 ms
84,196 KB
testcase_08 AC 2,161 ms
82,304 KB
testcase_09 AC 2,229 ms
82,304 KB
testcase_10 AC 2,198 ms
84,212 KB
testcase_11 AC 2,190 ms
84,468 KB
testcase_12 AC 2,193 ms
82,308 KB
testcase_13 AC 2,218 ms
82,308 KB
testcase_14 AC 2,203 ms
82,172 KB
testcase_15 AC 2,182 ms
86,500 KB
testcase_16 AC 2,232 ms
82,308 KB
testcase_17 AC 2,185 ms
86,500 KB
testcase_18 AC 2,198 ms
82,304 KB
testcase_19 AC 2,201 ms
86,372 KB
testcase_20 AC 2,166 ms
84,336 KB
testcase_21 AC 2,193 ms
82,308 KB
testcase_22 AC 2,184 ms
82,436 KB
testcase_23 AC 2,205 ms
84,212 KB
testcase_24 AC 2,261 ms
82,432 KB
testcase_25 AC 2,169 ms
82,432 KB
testcase_26 AC 2,215 ms
84,316 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 25 OCT 2024 11:52:03 AM):

; wrote /home/judge/data/code/Main.fasl
; compilation finished in 0:00:00.010

ソースコード

diff #

(defun main (&rest argv)
  (declare (ignorable argv))
  (let* ((kr (read))
         (kb (read))
         (s1 (read-line))
         (cs (make-array 31 :element-type 'integer))
         (tmp 0)
         (ma 0))
    (dotimes (i 30)
      (if (char= #\W (aref s1 i))
          (setf (aref cs i) 21)
          (setf (aref cs i) tmp
                tmp (1+ tmp))))
    (dotimes (i 1048576)
      (let ((s2 "")
            (ok 1))
        (dotimes (j 30)
          (when (zerop (logand i (ash 1 (aref cs j))))
                (setf s2 (concatenate 'string s2 (string (aref s1 j))))
                (when (and (char= #\R (aref s1 j))
                           (> (length s2) kr)
                           (char= #\R (aref s2 (- (length s2) kr 1))))
                      (setq ok 0))
                (when (and (char= #\B (aref s1 j))
                           (> (length s2) kb)
                           (char= #\B (aref s2 (- (length s2) kb 1))))
                      (setq ok 0))))
        (unless (zerop ok)
          (setq ma (max ma (length s2))))))
    (format t "~d~%" ma)))

(main)
0