結果

問題 No.5 数字のブロック
ユーザー wagasa2wagasa2
提出日時 2018-11-11 19:30:39
言語 Scheme
(Gauche-0.9.14)
結果
RE  
実行時間 -
コード長 1,133 bytes
コンパイル時間 204 ms
コンパイル使用メモリ 7,100 KB
実行使用メモリ 17,284 KB
最終ジャッジ日時 2023-08-21 03:00:43
合計ジャッジ時間 2,908 ms
ジャッジサーバーID
(参考情報)
judge13 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 RE -
testcase_01 RE -
testcase_02 RE -
testcase_03 RE -
testcase_04 RE -
testcase_05 RE -
testcase_06 RE -
testcase_07 RE -
testcase_08 RE -
testcase_09 RE -
testcase_10 RE -
testcase_11 RE -
testcase_12 RE -
testcase_13 RE -
testcase_14 RE -
testcase_15 RE -
testcase_16 RE -
testcase_17 RE -
testcase_18 RE -
testcase_19 RE -
testcase_20 RE -
testcase_21 RE -
testcase_22 RE -
testcase_23 RE -
testcase_24 RE -
testcase_25 RE -
testcase_26 RE -
testcase_27 RE -
testcase_28 RE -
testcase_29 RE -
testcase_30 RE -
testcase_31 RE -
testcase_32 RE -
testcase_33 RE -
権限があれば一括ダウンロードができます

ソースコード

diff #

(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)))
  (display (sum-max-index (create-list n) l)))
0