結果
問題 |
No.5 数字のブロック
|
ユーザー |
![]() |
提出日時 | 2024-10-06 01:44:58 |
言語 | Common Lisp (sbcl 2.5.0) |
結果 |
AC
|
実行時間 | 13 ms / 5,000 ms |
コード長 | 1,692 bytes |
コンパイル時間 | 138 ms |
コンパイル使用メモリ | 34,884 KB |
実行使用メモリ | 22,144 KB |
最終ジャッジ日時 | 2024-10-06 01:45:12 |
合計ジャッジ時間 | 1,397 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 34 |
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 06 OCT 2024 01:45:10 AM): ; wrote /home/judge/data/code/Main.fasl ; compilation finished in 0:00:00.006
ソースコード
; 幅リスト Wi を昇べきsort ; ブロックの幅 Wi を順に足す ; 箱の幅 L を超えたときの値を出力(0-indexed) (defun main () (let* ((l (read)) (n (read)) (ws (sort (loop ; repeat キーワードは loop マクロの中で ; 指定回数だけループを行うために使う repeat n ; collect キーワードは loop マクロの中で ; 要素を収集してリストを作成するために使う collect (read)) ; sort関数は比較関数を設定することで ; 昇べきの順に並べることができる #'<))) (loop ; below キーワードは loop マクロの中で ; 特定の値未満までの範囲を指定するために使う for i below n ; in キーワードは loop マクロの中で ; リストやコレクションを走査するときに使う for w in ws ; sum キーワードは項目を合計するために使う ; into キーワードは loop マクロの中で ; 結果を特定のコレクションに集めるために使う sum w into total ; until キーワードは loop マクロの中で ; 特定の条件が満たされるまでループするために使う until (> total l) ; finally キーワードは loop マクロの中で ; ループが終了した後に実行したい処理を指定するために使う finally (progn (princ i) (terpri))))) (main)