Submission #8529518
Source Code Expand
(use srfi-1) (use gauche.array) (define (read-n n) (letrec ((read-n-impl (lambda (n rv) (if (= n 0) rv (read-n-impl (- n 1) (cons (read) rv)))))) (reverse (read-n-impl n '())) )) (define (read-n-m n m) (let loop ((i 0) (rv (list))) (if (= i n) (reverse rv) (loop (+ i 1) (cons (let loop2 ((j 0) (rvi (list))) (if (= j m) (reverse rvi) (loop2 (+ j 1) (cons (read) rvi)))) rv))))) (define (read-lines n) (letrec ((read-lines-impl (lambda (n rv) (if (= n 0) rv (read-lines-impl (- n 1) (cons (read-line) rv)))))) (reverse (read-lines-impl n '())) )) (define (output n) (when (or (not (string? n)) (not (string=? n ""))) (display n) (newline))) ; -------- (define-class <largenum> () ( (n :accessor largenum-n :init-keyword :n :init-form (error "need n")))) (define *largenum-base* (+ (expt 10 9) 7)) (define (largenum-normalize n) (modulo (+ n *largenum-base*) *largenum-base*)) (define (largenum n) (make <largenum> :n (largenum-normalize n))) (define-method = ((x <largenum>) (y <largenum>)) (= (largenum-n x) (largenum-n y))) (define-method + ((x <largenum>) (y <largenum>)) (largenum (largenum-normalize (+ (largenum-n x) (largenum-n y))))) (define-method - ((x <largenum>) (y <largenum>)) (largenum (largenum-normalize (- (largenum-n x) (largenum-n y))))) (define-method * ((x <largenum>) (y <largenum>)) (largenum (largenum-normalize (* (largenum-n x) (largenum-n y))))) (define-method display ((x <largenum>)) (display (largenum-n x))) ; -------- (set! (setter array-ref) array-set!) (define (map-with-index f lst) (let loop ((lst lst) (rv (list)) (i 0)) (if (null? lst) (reverse rv) (loop (cdr lst) (cons (f (car lst) i) rv) (+ i 1))))) ; -------- (define-method describe ((a <array>)) (display "#,(<array> ") (array-for-each-index a (^ (y x) (when (= x 0) (newline)) (display (array-ref a y x)) (display " "))) (display "is an instance of class <array>") (newline)) (define-method describe ((a <list>)) (display a) (newline)) (define-method describe ((a <vector>)) (display a) (newline)) (define-method describe ((a <number>)) (display a) (newline)) (define-method describe ((a <boolean>)) (display a) (newline)) (define-method describe ((a <string>)) (display a) (newline)) (define-method describe ((a <char>)) (display a) (newline)) (define (describe . o)) ; -------- (define N (read)) (define M (read)) (define As (read-n M)) (define seen (make-hash-table)) (let loop ((input (reverse As))) (describe input) (when (not (null? input)) (if (hash-table-get seen (car input) #f) (loop (cdr input)) (begin (set! (ref seen (car input)) #t) (output (car input)) (loop (cdr input)))))) (for-each (lambda (t) (when (not (hash-table-get seen (+ t 1) #f)) (output (+ 1 t)))) (iota N))
Submission Info
Submission Time | |
---|---|
Task | A - 掲示板 |
User | ikeji |
Language | Scheme (Gauche 0.9.3.3) |
Score | 100 |
Code Size | 3179 Byte |
Status | AC |
Exec Time | 252 ms |
Memory | 22140 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 70 / 70 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_00.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt |
Subtask2 | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_00.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask2_00.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 97 ms | 10432 KB |
sample_02.txt | AC | 45 ms | 6140 KB |
sample_03.txt | AC | 45 ms | 6140 KB |
subtask1_00.txt | AC | 45 ms | 6140 KB |
subtask1_01.txt | AC | 45 ms | 6140 KB |
subtask1_02.txt | AC | 45 ms | 6140 KB |
subtask1_03.txt | AC | 45 ms | 6140 KB |
subtask1_04.txt | AC | 45 ms | 6140 KB |
subtask1_05.txt | AC | 45 ms | 6140 KB |
subtask1_06.txt | AC | 45 ms | 6140 KB |
subtask1_07.txt | AC | 45 ms | 6140 KB |
subtask1_08.txt | AC | 45 ms | 6140 KB |
subtask1_09.txt | AC | 45 ms | 6140 KB |
subtask1_10.txt | AC | 45 ms | 6140 KB |
subtask2_00.txt | AC | 189 ms | 16892 KB |
subtask2_01.txt | AC | 76 ms | 8956 KB |
subtask2_02.txt | AC | 200 ms | 16636 KB |
subtask2_03.txt | AC | 72 ms | 8956 KB |
subtask2_04.txt | AC | 114 ms | 11388 KB |
subtask2_05.txt | AC | 229 ms | 17532 KB |
subtask2_06.txt | AC | 224 ms | 17532 KB |
subtask2_07.txt | AC | 124 ms | 12668 KB |
subtask2_08.txt | AC | 132 ms | 12796 KB |
subtask2_09.txt | AC | 98 ms | 10108 KB |
subtask2_10.txt | AC | 250 ms | 22140 KB |
subtask2_11.txt | AC | 247 ms | 22012 KB |
subtask2_12.txt | AC | 245 ms | 22140 KB |
subtask2_13.txt | AC | 245 ms | 22140 KB |
subtask2_14.txt | AC | 248 ms | 22140 KB |
subtask2_15.txt | AC | 252 ms | 21884 KB |