結果

問題 No.647 明太子
ユーザー ducktailducktail
提出日時 2018-03-01 15:26:11
言語 Scheme
(Gauche-0.9.14)
結果
AC  
実行時間 1,219 ms / 4,500 ms
コード長 1,322 bytes
コンパイル時間 183 ms
コンパイル使用メモリ 7,196 KB
実行使用メモリ 18,432 KB
最終ジャッジ日時 2024-06-27 02:46:59
合計ジャッジ時間 6,073 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 29 ms
16,640 KB
testcase_01 AC 28 ms
16,512 KB
testcase_02 AC 28 ms
16,512 KB
testcase_03 AC 31 ms
16,768 KB
testcase_04 AC 29 ms
16,768 KB
testcase_05 AC 30 ms
16,640 KB
testcase_06 AC 29 ms
16,640 KB
testcase_07 AC 30 ms
16,640 KB
testcase_08 AC 29 ms
16,512 KB
testcase_09 AC 41 ms
16,768 KB
testcase_10 AC 55 ms
16,896 KB
testcase_11 AC 36 ms
16,768 KB
testcase_12 AC 50 ms
16,896 KB
testcase_13 AC 77 ms
17,024 KB
testcase_14 AC 552 ms
17,792 KB
testcase_15 AC 105 ms
17,024 KB
testcase_16 AC 48 ms
16,768 KB
testcase_17 AC 687 ms
17,920 KB
testcase_18 AC 754 ms
18,048 KB
testcase_19 AC 295 ms
17,792 KB
testcase_20 AC 321 ms
17,280 KB
testcase_21 AC 137 ms
17,280 KB
testcase_22 AC 1,219 ms
18,432 KB
testcase_23 AC 30 ms
16,640 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

(define (main args)
  (let* [(n (read))
         (vab (vector-tabulate n (^_ (let* [(x (read))
                                            (y (read))]
                                       (cons x y)))))
         (m (read))
         (vxy (vector-tabulate m (^_ (let* [(a (read))
                                            (b (read))]
                                       (cons a b)))))
         (vc (make-vector m 0))]
    (let loop [(i 0)
               (j 0)]
      (cond [(= i n) #t]
            [(= j m) (loop (+ i 1) 0)]
            [else
      (let [(a (car (vector-ref vab i)))
            (b (cdr (vector-ref vab i)))
            (x (car (vector-ref vxy j)))
            (y (cdr (vector-ref vxy j)))]
        (cond [(and (>= a x) (<= b y)) (vector-set! vc j (+ 1 (vector-ref vc j)))])
        (loop i (+ j 1)))]))
    (for-each print
              (let loop [(i 0)
                         (mx 0)
                         (ls '())]
                (cond [(= i m) (if (null? ls) '(0) (reverse ls))]
                      [(zero? (vector-ref vc i)) (loop (+ i 1) mx ls)]
                      [(> (vector-ref vc i) mx) (loop (+ i 1) (vector-ref vc i) (list (+ i 1)))]
                      [(= (vector-ref vc i) mx) (loop (+ i 1) mx (cons (+ i 1) ls))]
                      [else (loop (+ i 1) mx ls)]))))
  0)
0