Submission #1628162


Source Code Expand

; 入力の受付
(define N (read))
(define deck (let loop ((n N))
  (if (zero? n)
    '() (cons (read) (loop (- n 1))))))

; LISの長さごとの末尾nのDP表を更新
(define (lis-len ls dp)
  (if (null? ls) dp
    (begin (update-dp dp (car ls))
      (lis-len (cdr ls) dp))))

; nを読んでDP表を更新
(define (update-dp dp n)
  (vector-set! dp (vector-lower-bound dp n -1 (- N 1)) n))

; 下界のインデックスを二分探索
(define (vector-lower-bound vec n l u)
  (if (= (- u l) 1) u
    (let ((m (quotient (+ l u) 2)))
      (if (>= (vector-ref vec m) n)
        (vector-lower-bound vec n l m)
        (vector-lower-bound vec n m u)))))

; DP用の∞で初期化されたベクタを用意
(define dp (make-vector N +inf.0))

(print (- N (vector-lower-bound (lis-len deck dp) +inf.0 -1 N)))

Submission Info

Submission Time
Task D - トランプ挿入ソート
User kanji1896
Language Scheme (Gauche 0.9.3.3)
Score 100
Code Size 841 Byte
Status AC
Exec Time 79 ms
Memory 6780 KB

Judge Result

Set Name smallA smallB all
Score / Max Score 10 / 10 40 / 40 50 / 50
Status
AC × 19
AC × 37
AC × 55
Set Name Test Cases
smallA test_01_ABC.txt, test_04_ABC.txt, test_07_ABC.txt, test_10_ABC.txt, test_13_ABC.txt, test_16_ABC.txt, test_19_ABC.txt, test_22_ABC.txt, test_25_ABC.txt, test_28_ABC.txt, test_31_ABC.txt, test_32_ABC.txt, test_35_ABC.txt, test_38_ABC.txt, test_41_ABC.txt, test_44_ABC.txt, test_47_ABC.txt, test_50_ABC.txt, test_53_ABC.txt
smallB test_01_ABC.txt, test_02_AB.txt, test_04_ABC.txt, test_05_AB.txt, test_07_ABC.txt, test_08_AB.txt, test_10_ABC.txt, test_11_AB.txt, test_13_ABC.txt, test_14_AB.txt, test_16_ABC.txt, test_17_AB.txt, test_19_ABC.txt, test_20_AB.txt, test_22_ABC.txt, test_23_AB.txt, test_25_ABC.txt, test_26_AB.txt, test_28_ABC.txt, test_29_AB.txt, test_31_ABC.txt, test_32_ABC.txt, test_33_AB.txt, test_35_ABC.txt, test_36_AB.txt, test_38_ABC.txt, test_39_AB.txt, test_41_ABC.txt, test_42_AB.txt, test_44_ABC.txt, test_45_AB.txt, test_47_ABC.txt, test_48_AB.txt, test_50_ABC.txt, test_51_AB.txt, test_53_ABC.txt, test_54_AB.txt
all test_01_ABC.txt, test_02_AB.txt, test_03_A.txt, test_04_ABC.txt, test_05_AB.txt, test_06_A.txt, test_07_ABC.txt, test_08_AB.txt, test_09_A.txt, test_10_ABC.txt, test_11_AB.txt, test_12_A.txt, test_13_ABC.txt, test_14_AB.txt, test_15_A.txt, test_16_ABC.txt, test_17_AB.txt, test_18_A.txt, test_19_ABC.txt, test_20_AB.txt, test_21_A.txt, test_22_ABC.txt, test_23_AB.txt, test_24_A.txt, test_25_ABC.txt, test_26_AB.txt, test_27_A.txt, test_28_ABC.txt, test_29_AB.txt, test_30_A.txt, test_31_ABC.txt, test_32_ABC.txt, test_33_AB.txt, test_34_A.txt, test_35_ABC.txt, test_36_AB.txt, test_37_A.txt, test_38_ABC.txt, test_39_AB.txt, test_40_A.txt, test_41_ABC.txt, test_42_AB.txt, test_43_A.txt, test_44_ABC.txt, test_45_AB.txt, test_46_A.txt, test_47_ABC.txt, test_48_AB.txt, test_49_A.txt, test_50_ABC.txt, test_51_AB.txt, test_52_A.txt, test_53_ABC.txt, test_54_AB.txt, test_55_A.txt
Case Name Status Exec Time Memory
sample_01.txt AC 33 ms 5720 KB
sample_02.txt AC 7 ms 2940 KB
sample_03.txt AC 7 ms 2940 KB
test_01_ABC.txt AC 7 ms 2940 KB
test_02_AB.txt AC 8 ms 3196 KB
test_03_A.txt AC 78 ms 6780 KB
test_04_ABC.txt AC 7 ms 2940 KB
test_05_AB.txt AC 8 ms 3068 KB
test_06_A.txt AC 12 ms 3452 KB
test_07_ABC.txt AC 7 ms 2940 KB
test_08_AB.txt AC 8 ms 3196 KB
test_09_A.txt AC 79 ms 6780 KB
test_10_ABC.txt AC 7 ms 2940 KB
test_11_AB.txt AC 7 ms 2940 KB
test_12_A.txt AC 45 ms 5500 KB
test_13_ABC.txt AC 7 ms 2940 KB
test_14_AB.txt AC 8 ms 3196 KB
test_15_A.txt AC 79 ms 6652 KB
test_16_ABC.txt AC 7 ms 2940 KB
test_17_AB.txt AC 8 ms 3068 KB
test_18_A.txt AC 10 ms 3324 KB
test_19_ABC.txt AC 7 ms 2940 KB
test_20_AB.txt AC 8 ms 3196 KB
test_21_A.txt AC 79 ms 6780 KB
test_22_ABC.txt AC 7 ms 2940 KB
test_23_AB.txt AC 8 ms 3068 KB
test_24_A.txt AC 63 ms 6396 KB
test_25_ABC.txt AC 7 ms 2940 KB
test_26_AB.txt AC 8 ms 3196 KB
test_27_A.txt AC 79 ms 6780 KB
test_28_ABC.txt AC 7 ms 2940 KB
test_29_AB.txt AC 8 ms 3068 KB
test_30_A.txt AC 67 ms 6396 KB
test_31_ABC.txt AC 7 ms 2940 KB
test_32_ABC.txt AC 7 ms 2940 KB
test_33_AB.txt AC 8 ms 3196 KB
test_34_A.txt AC 78 ms 6780 KB
test_35_ABC.txt AC 7 ms 2940 KB
test_36_AB.txt AC 8 ms 3068 KB
test_37_A.txt AC 17 ms 3964 KB
test_38_ABC.txt AC 7 ms 2940 KB
test_39_AB.txt AC 8 ms 3196 KB
test_40_A.txt AC 76 ms 6780 KB
test_41_ABC.txt AC 7 ms 2940 KB
test_42_AB.txt AC 7 ms 3068 KB
test_43_A.txt AC 13 ms 3580 KB
test_44_ABC.txt AC 7 ms 2940 KB
test_45_AB.txt AC 8 ms 3196 KB
test_46_A.txt AC 78 ms 6780 KB
test_47_ABC.txt AC 7 ms 2940 KB
test_48_AB.txt AC 7 ms 2940 KB
test_49_A.txt AC 14 ms 3708 KB
test_50_ABC.txt AC 7 ms 2940 KB
test_51_AB.txt AC 8 ms 3196 KB
test_52_A.txt AC 77 ms 6780 KB
test_53_ABC.txt AC 6 ms 2940 KB
test_54_AB.txt AC 7 ms 2940 KB
test_55_A.txt AC 76 ms 6652 KB