結果

問題 No.378 名声値を稼ごう
ユーザー neko_the_shadow
提出日時 2017-01-14 14:43:41
言語 Scheme
(Gauche-0.9.8)
結果
AC  
実行時間 20 ms
コード長 618 Byte
コンパイル時間 11 ms
使用メモリ 8,300 KB
最終ジャッジ日時 2019-10-14 03:40:39

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
input1 AC 19 ms
8,240 KB
input2 AC 19 ms
8,244 KB
input3 AC 20 ms
8,300 KB
input4 AC 19 ms
8,296 KB
sample AC 19 ms
8,244 KB
テストケース一括ダウンロード
コンパイルメッセージ

                

                

ソースコード

diff #
(define (split-number number)
    (let loop ((x number) (numbers (list number)))
      (if (zero? x)
        (cdr numbers)
        (loop (quotient x 2) 
              (cons (quotient x 2) numbers)))))

(define (solve number)
  (let ((numbers (split-number number)))
    (let loop ((points numbers) (sums (list 0 0)))
      (if (null? points)
        (- (apply max sums)
           (reduce + 0 numbers))
        (loop (cdr points)
              (cons (+ (reduce + 0 (cdr points))
                        (* 2 (car points)))
                     sums))))))

(let ((number (read)))
  (display (solve number))
  (newline))
0