結果
問題 |
No.45 回転寿司
|
ユーザー |
![]() |
提出日時 | 2018-09-15 22:52:13 |
言語 | Scheme (Gauche-0.9.15) |
結果 |
AC
|
実行時間 | 36 ms / 5,000 ms |
コード長 | 954 bytes |
コンパイル時間 | 54 ms |
コンパイル使用メモリ | 5,120 KB |
実行使用メモリ | 16,256 KB |
最終ジャッジ日時 | 2024-12-27 19:24:58 |
合計ジャッジ時間 | 2,646 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
(let* ((n (string->number (read-line))) (v (list->vector(map string->number (string-split (read-line) " ")))) (c (make-hash-table))) (letrec ((calc-max (lambda (i) (if (hash-table-exists? c i) (hash-table-get c i) (cond ((eq? i 1) (let ((e (vector-ref v 0))) (hash-table-put! c i e) e)) ((eq? i 2) (let ((e (max (vector-ref v 0) (vector-ref v 1)))) (hash-table-put! c i e) e)) (else (let ((e (max (calc-max (- i 1)) (+ (vector-ref v (- i 1)) (calc-max (- i 2)))))) (hash-table-put! c i e) e))))))) (print (calc-max n))))