Submission #4545994


Source Code Expand

(eval-when (:compile-toplevel :load-toplevel :execute)
  (defparameter OPT
    #+swank '(optimize (speed 3) (safety 2))
    #-swank '(optimize (speed 3) (safety 0) (debug 0)))
  #+swank (progn (ql:quickload '(:cl-debug-print :fiveam))
                 (shadow :run)
                 (use-package :fiveam)))
#+swank (cl-syntax:use-syntax cl-debug-print:debug-print-syntax)

;; BEGIN_INSERTED_CONTENTS
(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)

(defmacro println (obj &optional (stream '*standard-output*))
  `(let ((*read-default-float-format* 'double-float))
     (prog1 (princ ,obj ,stream) (terpri ,stream))))

(defconstant +mod+ 1000000007)

;; Hauptteil

(defun leap-year-p (year)
  (cond ((zerop (mod year 400)) t)
        ((zerop (mod year 100)) nil)
        ((zerop (mod year 4)) t)
        (t nil)))

(defun next-day (year month day)
  (if (or (= day 31)
          (and (= day 30)
               (member month '(2 4 6 9 11)))
          (and (= day 29)
               (= month 2))
          (and (= day 28)
               (= month 2)
               (not (leap-year-p year))))
      (if (= month 12)
          (values (1+ year) 1 1)
          (values year (1+ month) 1))
      (values year month (1+ day))))

(defun main ()
  (let* ((line (read-line))
         (year (parse-integer line :end 4))
         (month (parse-integer line :start 5 :end 7))
         (day (parse-integer line :start 8 :end 10)))
    (loop until (and (zerop (mod year month))
                     (zerop (mod (floor year month) day)))
          do (setf (values year month day) (next-day year month day))
          finally (format t "~A/~2,'0D/~2,'0D~%" year month day))))

#-swank(main)

Submission Info

Submission Time
Task B - 割り切れる日付
User sansaqua
Language Common Lisp (SBCL 1.1.14)
Score 100
Code Size 1982 Byte
Status AC
Exec Time 193 ms
Memory 18276 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 124
Set Name Test Cases
All 00_retmax.txt, 00_retmin.txt, 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 02_last_01_0_0.txt, 02_last_01_0_1.txt, 02_last_01_1_0.txt, 02_last_01_1_1.txt, 02_last_01_2_0.txt, 02_last_01_2_1.txt, 02_last_01_3_0.txt, 02_last_01_3_1.txt, 02_last_02_0_0.txt, 02_last_02_0_1.txt, 02_last_02_1_0.txt, 02_last_02_1_1.txt, 02_last_02_2_0.txt, 02_last_02_2_1.txt, 02_last_02_3_0.txt, 02_last_02_3_1.txt, 02_last_03_0_0.txt, 02_last_03_0_1.txt, 02_last_03_1_0.txt, 02_last_03_1_1.txt, 02_last_03_2_0.txt, 02_last_03_2_1.txt, 02_last_03_3_0.txt, 02_last_03_3_1.txt, 02_last_04_0_0.txt, 02_last_04_0_1.txt, 02_last_04_1_0.txt, 02_last_04_1_1.txt, 02_last_04_2_0.txt, 02_last_04_2_1.txt, 02_last_04_3_0.txt, 02_last_04_3_1.txt, 02_last_05_0_0.txt, 02_last_05_0_1.txt, 02_last_05_1_0.txt, 02_last_05_1_1.txt, 02_last_05_2_0.txt, 02_last_05_2_1.txt, 02_last_05_3_0.txt, 02_last_05_3_1.txt, 02_last_06_0_0.txt, 02_last_06_0_1.txt, 02_last_06_1_0.txt, 02_last_06_1_1.txt, 02_last_06_2_0.txt, 02_last_06_2_1.txt, 02_last_06_3_0.txt, 02_last_06_3_1.txt, 02_last_07_0_0.txt, 02_last_07_0_1.txt, 02_last_07_1_0.txt, 02_last_07_1_1.txt, 02_last_07_2_0.txt, 02_last_07_2_1.txt, 02_last_07_3_0.txt, 02_last_07_3_1.txt, 02_last_08_0_0.txt, 02_last_08_0_1.txt, 02_last_08_1_0.txt, 02_last_08_1_1.txt, 02_last_08_2_0.txt, 02_last_08_2_1.txt, 02_last_08_3_0.txt, 02_last_08_3_1.txt, 02_last_09_0_0.txt, 02_last_09_0_1.txt, 02_last_09_1_0.txt, 02_last_09_1_1.txt, 02_last_09_2_0.txt, 02_last_09_2_1.txt, 02_last_09_3_0.txt, 02_last_09_3_1.txt, 02_last_10_0_0.txt, 02_last_10_0_1.txt, 02_last_10_1_0.txt, 02_last_10_1_1.txt, 02_last_10_2_0.txt, 02_last_10_2_1.txt, 02_last_10_3_0.txt, 02_last_10_3_1.txt, 02_last_11_0_0.txt, 02_last_11_0_1.txt, 02_last_11_1_0.txt, 02_last_11_1_1.txt, 02_last_11_2_0.txt, 02_last_11_2_1.txt, 02_last_11_3_0.txt, 02_last_11_3_1.txt, 02_last_12_0_0.txt, 02_last_12_0_1.txt, 02_last_12_1_0.txt, 02_last_12_1_1.txt, 02_last_12_2_0.txt, 02_last_12_2_1.txt, 02_last_12_3_0.txt, 02_last_12_3_1.txt, 03_special_01.txt, 03_special_02.txt, 03_special_03.txt
Case Name Status Exec Time Memory
00_retmax.txt AC 193 ms 18276 KB
00_retmin.txt AC 36 ms 8548 KB
00_sample_00.txt AC 35 ms 8548 KB
00_sample_01.txt AC 36 ms 8552 KB
00_sample_02.txt AC 35 ms 8548 KB
01_rnd_00.txt AC 36 ms 8548 KB
01_rnd_01.txt AC 36 ms 8548 KB
01_rnd_02.txt AC 35 ms 8548 KB
01_rnd_03.txt AC 36 ms 8548 KB
01_rnd_04.txt AC 36 ms 8548 KB
01_rnd_05.txt AC 36 ms 8552 KB
01_rnd_06.txt AC 36 ms 8544 KB
01_rnd_07.txt AC 35 ms 8548 KB
01_rnd_08.txt AC 35 ms 8548 KB
01_rnd_09.txt AC 35 ms 8548 KB
01_rnd_10.txt AC 35 ms 8548 KB
01_rnd_11.txt AC 36 ms 8544 KB
01_rnd_12.txt AC 36 ms 8548 KB
01_rnd_13.txt AC 35 ms 8548 KB
01_rnd_14.txt AC 35 ms 8552 KB
01_rnd_15.txt AC 36 ms 8548 KB
01_rnd_16.txt AC 36 ms 8548 KB
01_rnd_17.txt AC 36 ms 8548 KB
01_rnd_18.txt AC 35 ms 8548 KB
01_rnd_19.txt AC 35 ms 8548 KB
02_last_01_0_0.txt AC 36 ms 8552 KB
02_last_01_0_1.txt AC 35 ms 8548 KB
02_last_01_1_0.txt AC 36 ms 8548 KB
02_last_01_1_1.txt AC 36 ms 8552 KB
02_last_01_2_0.txt AC 36 ms 8548 KB
02_last_01_2_1.txt AC 36 ms 8544 KB
02_last_01_3_0.txt AC 36 ms 8544 KB
02_last_01_3_1.txt AC 36 ms 8552 KB
02_last_02_0_0.txt AC 36 ms 8552 KB
02_last_02_0_1.txt AC 36 ms 8552 KB
02_last_02_1_0.txt AC 36 ms 8548 KB
02_last_02_1_1.txt AC 36 ms 8552 KB
02_last_02_2_0.txt AC 36 ms 8552 KB
02_last_02_2_1.txt AC 35 ms 8548 KB
02_last_02_3_0.txt AC 35 ms 8552 KB
02_last_02_3_1.txt AC 36 ms 8548 KB
02_last_03_0_0.txt AC 36 ms 8548 KB
02_last_03_0_1.txt AC 36 ms 8548 KB
02_last_03_1_0.txt AC 35 ms 8548 KB
02_last_03_1_1.txt AC 35 ms 8548 KB
02_last_03_2_0.txt AC 35 ms 8544 KB
02_last_03_2_1.txt AC 36 ms 8544 KB
02_last_03_3_0.txt AC 36 ms 8544 KB
02_last_03_3_1.txt AC 35 ms 8548 KB
02_last_04_0_0.txt AC 36 ms 8552 KB
02_last_04_0_1.txt AC 36 ms 8548 KB
02_last_04_1_0.txt AC 36 ms 8548 KB
02_last_04_1_1.txt AC 35 ms 8544 KB
02_last_04_2_0.txt AC 36 ms 8548 KB
02_last_04_2_1.txt AC 36 ms 8548 KB
02_last_04_3_0.txt AC 35 ms 8552 KB
02_last_04_3_1.txt AC 35 ms 8544 KB
02_last_05_0_0.txt AC 36 ms 8548 KB
02_last_05_0_1.txt AC 36 ms 8552 KB
02_last_05_1_0.txt AC 35 ms 8548 KB
02_last_05_1_1.txt AC 36 ms 8548 KB
02_last_05_2_0.txt AC 35 ms 8544 KB
02_last_05_2_1.txt AC 36 ms 8548 KB
02_last_05_3_0.txt AC 35 ms 8552 KB
02_last_05_3_1.txt AC 35 ms 8544 KB
02_last_06_0_0.txt AC 36 ms 8544 KB
02_last_06_0_1.txt AC 36 ms 8544 KB
02_last_06_1_0.txt AC 35 ms 8548 KB
02_last_06_1_1.txt AC 36 ms 8552 KB
02_last_06_2_0.txt AC 36 ms 8548 KB
02_last_06_2_1.txt AC 36 ms 8544 KB
02_last_06_3_0.txt AC 36 ms 8552 KB
02_last_06_3_1.txt AC 36 ms 8548 KB
02_last_07_0_0.txt AC 36 ms 8548 KB
02_last_07_0_1.txt AC 36 ms 8548 KB
02_last_07_1_0.txt AC 36 ms 8548 KB
02_last_07_1_1.txt AC 36 ms 8548 KB
02_last_07_2_0.txt AC 36 ms 8548 KB
02_last_07_2_1.txt AC 36 ms 8548 KB
02_last_07_3_0.txt AC 35 ms 8548 KB
02_last_07_3_1.txt AC 35 ms 8552 KB
02_last_08_0_0.txt AC 36 ms 8548 KB
02_last_08_0_1.txt AC 35 ms 8548 KB
02_last_08_1_0.txt AC 36 ms 8552 KB
02_last_08_1_1.txt AC 35 ms 8552 KB
02_last_08_2_0.txt AC 36 ms 8544 KB
02_last_08_2_1.txt AC 35 ms 8552 KB
02_last_08_3_0.txt AC 36 ms 8548 KB
02_last_08_3_1.txt AC 36 ms 8544 KB
02_last_09_0_0.txt AC 36 ms 8544 KB
02_last_09_0_1.txt AC 36 ms 8544 KB
02_last_09_1_0.txt AC 36 ms 8552 KB
02_last_09_1_1.txt AC 36 ms 8552 KB
02_last_09_2_0.txt AC 36 ms 8548 KB
02_last_09_2_1.txt AC 36 ms 8548 KB
02_last_09_3_0.txt AC 36 ms 8544 KB
02_last_09_3_1.txt AC 36 ms 8552 KB
02_last_10_0_0.txt AC 36 ms 8544 KB
02_last_10_0_1.txt AC 36 ms 8548 KB
02_last_10_1_0.txt AC 36 ms 8544 KB
02_last_10_1_1.txt AC 36 ms 8548 KB
02_last_10_2_0.txt AC 36 ms 8552 KB
02_last_10_2_1.txt AC 36 ms 8544 KB
02_last_10_3_0.txt AC 36 ms 8544 KB
02_last_10_3_1.txt AC 36 ms 8544 KB
02_last_11_0_0.txt AC 36 ms 8548 KB
02_last_11_0_1.txt AC 36 ms 8552 KB
02_last_11_1_0.txt AC 36 ms 8548 KB
02_last_11_1_1.txt AC 36 ms 8548 KB
02_last_11_2_0.txt AC 36 ms 8548 KB
02_last_11_2_1.txt AC 36 ms 8552 KB
02_last_11_3_0.txt AC 36 ms 8548 KB
02_last_11_3_1.txt AC 36 ms 8548 KB
02_last_12_0_0.txt AC 36 ms 8544 KB
02_last_12_0_1.txt AC 36 ms 8548 KB
02_last_12_1_0.txt AC 35 ms 8548 KB
02_last_12_1_1.txt AC 36 ms 8548 KB
02_last_12_2_0.txt AC 36 ms 8548 KB
02_last_12_2_1.txt AC 36 ms 8548 KB
02_last_12_3_0.txt AC 36 ms 8552 KB
02_last_12_3_1.txt AC 36 ms 8552 KB
03_special_01.txt AC 36 ms 8552 KB
03_special_02.txt AC 36 ms 8544 KB
03_special_03.txt AC 36 ms 8548 KB