Submission #7130312
Source Code Expand
;; -*- coding: utf-8 -*- (eval-when (:compile-toplevel :load-toplevel :execute) (defparameter OPT #+swank '(optimize (speed 3) (safety 2)) #-swank '(optimize (speed 3) (safety 0) (debug 0))) #+swank (ql:quickload '(:cl-debug-print :fiveam) :silent t) #-swank (set-dispatch-macro-character #\# #\> (lambda (s c p) (declare (ignore c p)) (read s nil (values) t)))) #+swank (cl-syntax:use-syntax cl-debug-print:debug-print-syntax) #-swank (disable-debugger) ; for CS Academy ;; BEGIN_INSERTED_CONTENTS ;;; ;;; 2D rolling hash (32-bit) ;;; (defstruct (rhash2d (:constructor %make-rhash2d (mod1 base1 mod2 base2 table))) ;; horizontal (mod1 2147483647 :type (unsigned-byte 32)) (base1 1059428526 :type (unsigned-byte 32)) ;; vertical (mod2 2147483629 :type (unsigned-byte 32)) (base2 2090066834 :type (unsigned-byte 32)) (table nil :type (simple-array (unsigned-byte 32) (* *)))) ;; This table consists of pairs of primes less than 2^32 and the random ;; primitive roots modulo them larger than 10^9. We randomly choose a pair and ;; adopt the prime as modulus and the primitive root as base. (declaim ((simple-array (unsigned-byte 32) (100)) *moduli-table* *base-table*)) (defparameter *moduli-table* (make-array 100 :element-type '(unsigned-byte 32) :initial-contents '(4294967291 4294967279 4294967231 4294967197 4294967189 4294967161 4294967143 4294967111 4294967087 4294967029 4294966997 4294966981 4294966943 4294966927 4294966909 4294966877 4294966829 4294966813 4294966769 4294966667 4294966661 4294966657 4294966651 4294966639 4294966619 4294966591 4294966583 4294966553 4294966477 4294966447 4294966441 4294966427 4294966373 4294966367 4294966337 4294966297 4294966243 4294966237 4294966231 4294966217 4294966187 4294966177 4294966163 4294966153 4294966129 4294966121 4294966099 4294966087 4294966073 4294966043 4294966007 4294966001 4294965977 4294965971 4294965967 4294965949 4294965937 4294965911 4294965887 4294965847 4294965841 4294965839 4294965821 4294965793 4294965767 4294965757 4294965737 4294965733 4294965721 4294965691 4294965683 4294965679 4294965673 4294965671 4294965659 4294965641 4294965617 4294965613 4294965601 4294965581 4294965529 4294965487 4294965461 4294965457 4294965413 4294965383 4294965361 4294965347 4294965331 4294965313 4294965307 4294965263 4294965251 4294965229 4294965203 4294965193 4294965161 4294965151 4294965137 4294965131))) (defparameter *base-table* (make-array 100 :element-type '(unsigned-byte 32) :initial-contents '(2247433164 2139372809 2609807693 2343117402 3096734379 2843084587 3022604264 3725165355 1310011850 3271696819 3710639434 4215251668 2971116345 1291563131 2125491020 1561805191 3225016848 4113447491 3038900010 3636011022 2479454799 1990556577 2661169605 3088947962 1926120766 4105365454 4171519129 2043031086 1810297004 1391329364 3781496513 3524912702 2014602604 3608350570 2970210993 4041943368 3843309586 1048071792 2527337250 4207345339 3745845437 3780181639 1843103547 1471147023 2925746977 2571168523 1911322179 2533579172 2577088289 3082429185 3636817029 3517246253 2141978180 2042755180 1656982819 2160802626 3780428251 1987808226 3883058504 1973235694 3022446019 3414211768 2747857698 1121927034 2368051231 1585372041 2942376489 1760007658 1731546725 3503068146 3139298718 3516795165 3838735245 3491469147 2711077678 1556341778 2556545397 1528640652 1183190693 2870857999 3301248018 4114187491 2653041143 1757252280 3464064684 1655297946 4217483675 2809928527 2757106005 3401026515 2587333052 1757998238 1398188339 4075136024 2780360736 2566409334 2544620190 1754492744 2431582005 1565067593))) (defun %choose-moduli (mod1 mod2 base1 base2 rhash2d) "Chooses two appropriate pairs of moduli and bases." (declare #.OPT ((or null (unsigned-byte 32)) mod1 mod2 base1 base2)) (when rhash2d (return-from %choose-moduli (values (rhash2d-mod1 rhash2d) (rhash2d-mod2 rhash2d) (rhash2d-base1 rhash2d) (rhash2d-base2 rhash2d)))) (let* ((rand1 (random (length *moduli-table*))) (rand2 (loop (let ((tmp (random (length *moduli-table*)))) (unless (= tmp rand1) (return tmp)))))) (if mod1 (setq base1 (or base1 (+ 1 (random (- mod1 1))))) (progn (setq mod1 (or mod1 (aref *moduli-table* rand1))) (unless base1 (setq base1 (aref *base-table* rand1))))) (if mod2 (setq base2 (or base2 (+ 1 (random (- mod2 1))))) (progn (setq mod2 (or mod2 (aref *moduli-table* rand2))) (unless base2 (setq base2 (aref *base-table* rand2)))))) (values mod1 mod2 base1 base2)) (defun make-rhash2d (matrix h w &key (key #'identity) mod1 mod2 base1 base2 rhash2d) "Returns the table of the hash value of each rectangle of size H * W on MATRIX modulo MOD1 and MOD2. KEY is applied to each element of MATRIX prior to computing the hash value. If moduli and bases are NIL, this function randomly chooses them. If RHASH2D is specified, the same moduli and bases as RHASH2D is adopted. MOD[1|2] := NIL | unsigned 32-bit prime number BASE1 := NIL | 1 | 2 | ... | MOD1 - 1 BASE2 := NIL | 1 | 2 | ... | MOD2 - 1 KEY := FUNCTION returning FIXNUM RHASH2D := NIL | RHASH2D" (declare #.OPT ((array * (* *)) matrix) ((integer 0 #.most-positive-fixnum) h w) ((or null (unsigned-byte 32)) mod1 mod2 base1 base2) (function key)) (multiple-value-bind (mod1 mod2 base1 base2) (%choose-moduli mod1 mod2 base1 base2 rhash2d) (declare ((unsigned-byte 32) mod1 mod2 base1 base2)) (labels ((power (base exp mod) (declare ((unsigned-byte 32) base exp mod)) (let ((res 1)) (declare ((unsigned-byte 32) res)) (dotimes (i exp res) (setq res (mod (* res base) mod))))) (get-cell (i j) ; Returns MATRIX[i][j] as (unsigned-byte 32). (declare ((integer 0 #.most-positive-fixnum) i j)) (the (unsigned-byte 32) (mod (the fixnum (funcall key (aref matrix i j))) mod1)))) (destructuring-bind (src-h src-w) (array-dimensions matrix) (declare ((integer 0 #.most-positive-fixnum) src-h src-w)) (assert (and (<= h src-h) (<= w src-w))) (let* ((table-h (+ 1 (- src-h h))) (table-w (+ 1 (- src-w w))) (tmp-table (make-array (list src-h table-w) :element-type '(unsigned-byte 32))) (table (make-array (list table-h table-w) :element-type '(unsigned-byte 32))) (coef-row (power base1 w mod1)) (coef-col (power base2 h mod2))) (declare ((integer 0 #.most-positive-fixnum) table-h table-w)) ;; compute hash values in the horizontal direction (dotimes (i src-h) (let ((val 0)) (declare ((unsigned-byte 32) val)) (dotimes (j w) (setq val (mod (+ (* val base1) (get-cell i j)) mod1))) (dotimes (j table-w) (setf (aref tmp-table i j) val) (when (< j (- src-w w)) (setq val (mod (+ (mod (* val base1) mod1) (- mod1 (mod (* coef-row (get-cell i j)) mod1)) (get-cell i (+ j w))) mod1)))))) ;; compute hash values in the vertical direction (dotimes (j table-w) (let ((val 0)) (declare ((unsigned-byte 32) val)) (dotimes (i h) (setq val (mod (+ (* val base2) (aref tmp-table i j)) mod2))) (dotimes (i table-h) (setf (aref table i j) val) (when (< i (- src-h h)) (setq val (mod (+ (mod (* val base2) mod2) (- mod2 (mod (* coef-col (aref tmp-table i j)) mod2)) (aref tmp-table (the fixnum (+ i h)) j)) mod2)))))) (%make-rhash2d mod1 base1 mod2 base2 table)))))) (declaim (ftype (function * (values (unsigned-byte 32) &optional)) rhash2d-matrix-hash)) (defun rhash2d-matrix-hash (rhash2d matrix &key (key #'identity)) "Returns the hash code of MATRIX w.r.t. the moduli and bases of RHASH2D." (declare #.OPT ((array * (* *)) matrix) (function key)) (destructuring-bind (h w) (array-dimensions matrix) (declare ((integer 0 #.most-positive-fixnum) h w)) (let* ((mod1 (rhash2d-mod1 rhash2d)) (mod2 (rhash2d-mod2 rhash2d)) (base1 (rhash2d-base1 rhash2d)) (base2 (rhash2d-base2 rhash2d)) (res 0)) (declare ((unsigned-byte 32) res)) (labels ((get-cell (i j) ; Returns MATRIX[i][j] as (unsigned-byte 32). (declare ((integer 0 #.most-positive-fixnum) i j)) (the (unsigned-byte 32) (mod (the fixnum (funcall key (aref matrix i j))) mod1)))) ;; compute hash values in the horizontal direction (dotimes (i h) (let ((row-val 0)) (declare ((unsigned-byte 32) row-val)) (dotimes (j w) (setq row-val (mod (+ (* row-val base1) (get-cell i j)) mod1))) (setq res (mod (+ (* res base2) row-val) mod2)))) res)))) (declaim (inline rhash2d-query) (ftype (function * (values (unsigned-byte 32) &optional)) rhash2d-query)) (defun rhash2d-query (rhash2d i j) "Returns the hash value of the rectangle whose upper left corner is at (i, j)." (declare ((integer 0 #.most-positive-fixnum) i j)) (aref (rhash2d-table rhash2d) i j)) (declaim (inline fast-read-char)) (defun fast-read-char (&optional (stream *standard-input*)) (declare #-swank (sb-kernel:ansi-stream stream) (inline read-byte)) #+swank (read-char stream nil #\Newline) ; on SLIME #-swank (code-char (read-byte stream nil #.(char-code #\Newline)))) (defmacro dbg (&rest forms) #+swank (if (= (length forms) 1) `(format *error-output* "~A => ~A~%" ',(car forms) ,(car forms)) `(format *error-output* "~A => ~A~%" ',forms `(,,@forms))) #-swank (declare (ignore forms))) (defmacro define-int-types (&rest bits) `(progn ,@(mapcar (lambda (b) `(deftype ,(intern (format nil "UINT~A" b)) () '(unsigned-byte ,b))) bits) ,@(mapcar (lambda (b) `(deftype ,(intern (format nil "INT~A" b)) () '(signed-byte ,b))) bits))) (define-int-types 2 4 7 8 15 16 31 32 62 63 64) (declaim (inline println)) (defun println (obj &optional (stream *standard-output*)) (let ((*read-default-float-format* 'double-float)) (prog1 (princ obj stream) (terpri stream)))) ;; Body (defun matrix-rotate (matrix rot) "Counterclockwise rotates a 2-dimensional array by 90 * ROT degrees. This function is non-destructive." (declare #.OPT ((simple-array bit (* *)) matrix) ((integer 0 3) rot)) (destructuring-bind (h w) (array-dimensions matrix) (declare (uint31 h w)) (let* ((res-h (if (evenp rot) h w)) (res-w (if (evenp rot) w h)) (res (make-array (list res-h res-w) :element-type 'bit))) (case rot (0 (dotimes (i h) (dotimes (j w) (setf (aref res i j) (aref matrix i j))))) (1 (dotimes (i h) (dotimes (j w) (setf (aref res (- w 1 j) i) (aref matrix i j))))) (2 (dotimes (i h) (dotimes (j w) (setf (aref res (- h 1 i) (- w 1 j)) (aref matrix i j))))) (3 (dotimes (i h) (dotimes (j w) (setf (aref res j (- h 1 i)) (aref matrix i j)))))) res))) ;; deque (macroexpand'ed for saving memory) (PROGN (DEFSTRUCT (DEQUE (:CONSTRUCTOR MAKE-DEQUE (SIZE &AUX (DATA (PROGN (CHECK-TYPE SIZE (INTEGER 0)) (MAKE-ARRAY (+ 1 SIZE) :ELEMENT-TYPE 'UINT32))))) (:COPIER NIL) (:PREDICATE NIL)) (DATA NIL :TYPE (SIMPLE-ARRAY UINT32 (*))) (FRONT 0 :TYPE (INTEGER 0 4611686018427387903)) (COUNT 0 :TYPE (INTEGER 0 4611686018427387903))) (DECLAIM (INLINE DEQUE-PUSH-FRONT)) (DEFUN DEQUE-PUSH-FRONT (OBJ DEQUE) (SYMBOL-MACROLET ((FRONT (DEQUE-FRONT DEQUE)) (COUNT (DEQUE-COUNT DEQUE))) (LET* ((DATA (DEQUE-DATA DEQUE)) (LENGTH (LENGTH DATA)) (NEXT (- FRONT 1))) (DECLARE ((INTEGER -1 4611686018427387903) NEXT)) (WHEN (< NEXT 0) (INCF NEXT LENGTH)) (SETF (AREF DATA FRONT) OBJ) (SETQ FRONT NEXT) (INCF COUNT) DEQUE))) (DECLAIM (INLINE DEQUE-POP-FRONT)) (DEFUN DEQUE-POP-FRONT (DEQUE) (SYMBOL-MACROLET ((FRONT (DEQUE-FRONT DEQUE)) (COUNT (DEQUE-COUNT DEQUE))) (LET* ((DATA (DEQUE-DATA DEQUE)) (LENGTH (LENGTH DATA)) (NEXT (+ FRONT 1))) (DECLARE ((INTEGER 0 4611686018427387903) NEXT)) (WHEN (= NEXT LENGTH) (DECF NEXT LENGTH)) (SETQ FRONT NEXT) (DECF COUNT) (AREF DATA NEXT)))) (DECLAIM (INLINE DEQUE-PUSH-BACK)) (DEFUN DEQUE-PUSH-BACK (OBJ DEQUE) (SYMBOL-MACROLET ((FRONT (DEQUE-FRONT DEQUE)) (COUNT (DEQUE-COUNT DEQUE))) (LET* ((DATA (DEQUE-DATA DEQUE)) (LENGTH (LENGTH DATA)) (POS (+ FRONT COUNT 1))) (DECLARE ((INTEGER 0 4611686018427387903) POS)) (WHEN (>= POS LENGTH) (DECF POS LENGTH)) (SETF (AREF DATA POS) OBJ) (INCF COUNT) DEQUE))) (DECLAIM (INLINE DEQUE-EMPTY-P)) (DEFUN DEQUE-EMPTY-P (DEQUE) (ZEROP (DEQUE-COUNT DEQUE))) (DECLAIM (INLINE DEQUE-REINITIALIZE)) (DEFUN DEQUE-REINITIALIZE (DEQUE) (SETF (DEQUE-COUNT DEQUE) 0))) (defparameter *a* (make-array '(7 7) :element-type 'bit :initial-contents #((0 0 0 0 0 0 0) (0 0 0 1 0 0 0) (0 0 1 0 1 0 0) (0 1 0 0 0 1 0) (0 1 1 1 1 1 0) (0 1 0 0 0 1 0) (0 0 0 0 0 0 0)))) (defparameter *b* (make-array '(7 7) :element-type 'bit :initial-contents #((0 0 0 0 0 0 0) (0 1 1 1 1 0 0) (0 1 0 0 0 1 0) (0 1 1 1 1 0 0) (0 1 0 0 0 1 0) (0 1 1 1 1 0 0) (0 0 0 0 0 0 0)))) (defparameter *c* (make-array '(7 7) :element-type 'bit :initial-contents #((0 0 0 0 0 0 0) (0 0 1 1 1 0 0) (0 1 0 0 0 1 0) (0 1 0 0 0 0 0) (0 1 0 0 0 1 0) (0 0 1 1 1 0 0) (0 0 0 0 0 0 0)))) (eval-when (:compile-toplevel :load-toplevel :execute) (gc :full t)) (defun main () (declare #.OPT) (let* ((h (read)) (w (read)) (map (make-array (list h w) :element-type 'bit :initial-element 0)) (new-map (make-array (list h w) :element-type 'bit :initial-element 0)) (visited (make-array (list h w) :element-type 'bit :initial-element 0)) (deque (make-deque 500000))) (declare (uint16 h w)) (dotimes (i h) (dotimes (j w) (when (char= #\o (fast-read-char)) (setf (aref map i j) 1))) (fast-read-char)) (when (or (< h 7) (< w 7)) (write-line "0 0 0") (return-from main)) (labels ((visit (i j) (declare (uint16 i j)) (when (and (<= 0 i (- h 1)) (<= 0 j (- w 1)) (= 1 (aref map i j)) (= 0 (aref visited i j))) (setf (aref visited i j) 1) (deque-push-back (dpb j (byte 16 16) i) deque))) (shrink (north south west east) (declare (uint16 north south west east)) (let ((rate (floor (+ 1 (- south north)) 5))) ; magnification rate (loop for i from north to south by rate do (loop for j from west to east by rate do (when (= 1 (aref map i j)) (let ((new-i (+ north (floor (- i north) rate))) (new-j (+ west (floor (- j west) rate)))) (setf (aref new-map new-i new-j) 1))))) (loop for i from north to south do (loop for j from west to east do (setf (aref map i j) 0)))))) ;; BFS for each component (dotimes (init-i h) (dotimes (init-j w) (when (and (= 1 (aref map init-i init-j)) (= 0 (aref visited init-i init-j))) (let ((north init-i) (south init-i) (west init-j) (east init-j)) (declare (uint16 north south west east)) (deque-reinitialize deque) (deque-push-back (dpb init-j (byte 16 16) init-i) deque) (setf (aref visited init-i init-j) 1) (loop until (deque-empty-p deque) for node = (deque-pop-front deque) for y = (ldb (byte 16 0) node) for x = (ash node -16) do (setq north (min north y) south (max south y) west (min west x) east (max east x)) (visit (- y 1) (- x 1)) (visit (- y 1) x) (visit (- y 1) (+ x 1)) (visit y (- x 1)) (visit y x) (visit y (+ x 1)) (visit (+ y 1) (- x 1)) (visit (+ y 1) x) (visit (+ y 1) (+ x 1))) (shrink north south west east))))) ;; pattern matching for 7*7 rectangles (let* ((rhash (make-rhash2d new-map 7 7)) (as (loop for r below 4 collect (rhash2d-matrix-hash rhash (matrix-rotate *a* r)))) (bs (loop for r below 4 collect (rhash2d-matrix-hash rhash (matrix-rotate *b* r)))) (cs (loop for r below 4 collect (rhash2d-matrix-hash rhash (matrix-rotate *c* r)))) (res-a 0) (res-b 0) (res-c 0)) (dotimes (i (- h 6)) (dotimes (j (- w 6)) (let ((val (rhash2d-query rhash i j))) (cond ((member val as) (incf res-a)) ((member val bs) (incf res-b)) ((member val cs) (incf res-c)))))) (format t "~D ~D ~D~%" res-a res-b res-c))))) #-swank (main)
Submission Info
Submission Time | |
---|---|
Task | D - アルファベット探し |
User | sansaqua |
Language | Common Lisp (SBCL 1.1.14) |
Score | 100 |
Code Size | 19377 Byte |
Status | AC |
Exec Time | 430 ms |
Memory | 42720 KiB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_min.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rndsmall_00.txt, 01_rndsmall_01.txt, 01_rndsmall_02.txt, 01_rndsmall_03.txt, 01_rndsmall_04.txt, 01_rndsmall_05.txt, 01_rndsmall_06.txt, 01_rndsmall_07.txt, 01_rndsmall_08.txt, 01_rndsmall_09.txt, 01_rndsmall_10.txt, 01_rndsmall_11.txt, 01_rndsmall_12.txt, 01_rndsmall_13.txt, 01_rndsmall_14.txt, 01_rndsmall_15.txt, 01_rndsmall_16.txt, 01_rndsmall_17.txt, 01_rndsmall_18.txt, 01_rndsmall_19.txt, 02_rndmax_00.txt, 02_rndmax_01.txt, 02_rndmax_02.txt, 02_rndmax_03.txt, 02_rndmax_04.txt, 02_rndmax_05.txt, 02_rndmax_06.txt, 02_rndmax_07.txt, 02_rndmax_08.txt, 02_rndmax_09.txt, 02_rndmax_10.txt, 02_rndmax_11.txt, 02_rndmax_12.txt, 02_rndmax_13.txt, 02_rndmax_14.txt, 02_rndmax_15.txt, 02_rndmax_16.txt, 02_rndmax_17.txt, 02_rndmax_18.txt, 02_rndmax_19.txt, 03_rnd_00.txt, 03_rnd_01.txt, 03_rnd_02.txt, 03_rnd_03.txt, 03_rnd_04.txt, 03_rnd_05.txt, 03_rnd_06.txt, 03_rnd_07.txt, 03_rnd_08.txt, 03_rnd_09.txt, 04_empty_00.txt, 05_maxret_00.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_min.txt | AC | 428 ms | 42720 KiB |
00_sample_01.txt | AC | 231 ms | 29280 KiB |
00_sample_02.txt | AC | 231 ms | 29284 KiB |
00_sample_03.txt | AC | 230 ms | 29280 KiB |
00_sample_04.txt | AC | 229 ms | 29280 KiB |
00_sample_05.txt | AC | 230 ms | 29280 KiB |
01_rndsmall_00.txt | AC | 234 ms | 29280 KiB |
01_rndsmall_01.txt | AC | 233 ms | 29280 KiB |
01_rndsmall_02.txt | AC | 233 ms | 29284 KiB |
01_rndsmall_03.txt | AC | 232 ms | 29288 KiB |
01_rndsmall_04.txt | AC | 235 ms | 29284 KiB |
01_rndsmall_05.txt | AC | 234 ms | 29288 KiB |
01_rndsmall_06.txt | AC | 232 ms | 29280 KiB |
01_rndsmall_07.txt | AC | 233 ms | 29280 KiB |
01_rndsmall_08.txt | AC | 232 ms | 29284 KiB |
01_rndsmall_09.txt | AC | 234 ms | 29284 KiB |
01_rndsmall_10.txt | AC | 232 ms | 29284 KiB |
01_rndsmall_11.txt | AC | 232 ms | 29284 KiB |
01_rndsmall_12.txt | AC | 231 ms | 29280 KiB |
01_rndsmall_13.txt | AC | 233 ms | 29280 KiB |
01_rndsmall_14.txt | AC | 233 ms | 29284 KiB |
01_rndsmall_15.txt | AC | 232 ms | 29288 KiB |
01_rndsmall_16.txt | AC | 233 ms | 29288 KiB |
01_rndsmall_17.txt | AC | 232 ms | 29284 KiB |
01_rndsmall_18.txt | AC | 231 ms | 29280 KiB |
01_rndsmall_19.txt | AC | 232 ms | 29280 KiB |
02_rndmax_00.txt | AC | 399 ms | 29280 KiB |
02_rndmax_01.txt | AC | 406 ms | 29280 KiB |
02_rndmax_02.txt | AC | 415 ms | 29280 KiB |
02_rndmax_03.txt | AC | 411 ms | 29284 KiB |
02_rndmax_04.txt | AC | 411 ms | 29280 KiB |
02_rndmax_05.txt | AC | 406 ms | 29284 KiB |
02_rndmax_06.txt | AC | 410 ms | 29284 KiB |
02_rndmax_07.txt | AC | 405 ms | 29284 KiB |
02_rndmax_08.txt | AC | 405 ms | 29280 KiB |
02_rndmax_09.txt | AC | 405 ms | 29284 KiB |
02_rndmax_10.txt | AC | 403 ms | 29284 KiB |
02_rndmax_11.txt | AC | 404 ms | 29280 KiB |
02_rndmax_12.txt | AC | 402 ms | 29284 KiB |
02_rndmax_13.txt | AC | 408 ms | 29284 KiB |
02_rndmax_14.txt | AC | 417 ms | 29280 KiB |
02_rndmax_15.txt | AC | 412 ms | 29284 KiB |
02_rndmax_16.txt | AC | 406 ms | 29284 KiB |
02_rndmax_17.txt | AC | 402 ms | 29284 KiB |
02_rndmax_18.txt | AC | 407 ms | 29284 KiB |
02_rndmax_19.txt | AC | 407 ms | 29280 KiB |
03_rnd_00.txt | AC | 235 ms | 29284 KiB |
03_rnd_01.txt | AC | 266 ms | 29288 KiB |
03_rnd_02.txt | AC | 268 ms | 29288 KiB |
03_rnd_03.txt | AC | 272 ms | 29284 KiB |
03_rnd_04.txt | AC | 279 ms | 29284 KiB |
03_rnd_05.txt | AC | 240 ms | 29284 KiB |
03_rnd_06.txt | AC | 298 ms | 29284 KiB |
03_rnd_07.txt | AC | 251 ms | 29288 KiB |
03_rnd_08.txt | AC | 320 ms | 29280 KiB |
03_rnd_09.txt | AC | 306 ms | 29288 KiB |
04_empty_00.txt | AC | 397 ms | 29284 KiB |
05_maxret_00.txt | AC | 430 ms | 29280 KiB |