結果
問題 |
No.5 数字のブロック
|
ユーザー |
![]() |
提出日時 | 2018-11-11 19:32:53 |
言語 | Scheme (Gauche-0.9.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,159 bytes |
コンパイル時間 | 171 ms |
コンパイル使用メモリ | 6,948 KB |
実行使用メモリ | 20,992 KB |
最終ジャッジ日時 | 2024-12-14 11:03:08 |
合計ジャッジ時間 | 2,555 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | RE * 34 |
ソースコード
(define (qsort-desc lst) (define (qsort-fitter lst key lt eq gt) (if (null? lst) (list lt eq gt) (let ((head (car lst)) (rest (cdr lst))) (cond ((> head key) (qsort-fitter rest key (cons head lt) eq gt)) ((< head key) (qsort-fitter rest key lt eq (cons head gt))) (else (qsort-fitter rest key lt (cons head eq) gt)))))) (if (<= (length lst) 1) lst (let ((key (car lst))) (let ((filtered (qsort-fitter lst key '() '() '()))) (let ((lt (car filtered)) (eq (cadr filtered)) (gt (caddr filtered))) (append (qsort-desc lt) (append eq (qsort-desc gt)))))))) (define (create-list n) (if (= n 0) '() (cons (read) (create-list (- n 1))))) (define (sum-max-index lst limit) (define (sum-max-indexx lst limit index) (cond ((null? lst) index) ((<= (sum-list lst) limit) index) (else (sum-max-indexx (cdr lst) limit (- index 1))))) (sum-max-indexx (qsort-desc lst) limit (length lst))) (let ((l (read)) (n (read))) (begin (display (sum-max-index (create-list n) l)) (newline)))