Submission #4525025
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 (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 calc0 (a)
(declare #.OPT
(uint62 a))
(let ((res 0))
(declare (uint62 res))
(dotimes (k (integer-length a) res)
(if (zerop k)
(let ((rem (mod a 4)))
(if (or (= rem 0) (= rem 3))
(setf (ldb (byte 1 0) res) 0)
(setf (ldb (byte 1 0) res) 1)))
(let ((rem (mod a (expt 2 (+ k 1)))))
(cond ((< rem (expt 2 k))
(setf (ldb (byte 1 k) res) 0))
((evenp rem)
(setf (ldb (byte 1 k) res) 1))
(t
(setf (ldb (byte 1 k) res) 0))))))))
(defun main ()
(let* ((a (read))
(b (read)))
(declare (uint62 a b))
(println
(if (zerop a)
(calc0 b)
(logxor (calc0 b) (calc0 (- a 1)))))))
#-swank(main)
Submission Info
| Submission Time | |
|---|---|
| Task | D - XOR World |
| User | sansaqua |
| Language | Common Lisp (SBCL 1.1.14) |
| Score | 400 |
| Code Size | 1818 Byte |
| Status | AC |
| Exec Time | 162 ms |
| Memory | 19552 KiB |
Judge Result
| Set Name | All | Sample | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 400 / 400 | 0 / 0 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| All | sample_01, sample_02, sample_03, testcase_01, testcase_02, testcase_03, testcase_04, testcase_05, testcase_06, testcase_07, testcase_08, testcase_09, testcase_10, testcase_11, testcase_12, testcase_13, testcase_14, testcase_15, testcase_16, testcase_17, testcase_18, testcase_19, testcase_20, testcase_21, testcase_22, testcase_23 |
| Sample | sample_01, sample_02, sample_03 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01 | AC | 162 ms | 19552 KiB |
| sample_02 | AC | 33 ms | 8544 KiB |
| sample_03 | AC | 33 ms | 8544 KiB |
| testcase_01 | AC | 34 ms | 8544 KiB |
| testcase_02 | AC | 33 ms | 8548 KiB |
| testcase_03 | AC | 33 ms | 8552 KiB |
| testcase_04 | AC | 33 ms | 8548 KiB |
| testcase_05 | AC | 33 ms | 8552 KiB |
| testcase_06 | AC | 33 ms | 8552 KiB |
| testcase_07 | AC | 33 ms | 8548 KiB |
| testcase_08 | AC | 33 ms | 8548 KiB |
| testcase_09 | AC | 33 ms | 8548 KiB |
| testcase_10 | AC | 33 ms | 8548 KiB |
| testcase_11 | AC | 33 ms | 8544 KiB |
| testcase_12 | AC | 34 ms | 8548 KiB |
| testcase_13 | AC | 34 ms | 8544 KiB |
| testcase_14 | AC | 33 ms | 8552 KiB |
| testcase_15 | AC | 33 ms | 8552 KiB |
| testcase_16 | AC | 33 ms | 8548 KiB |
| testcase_17 | AC | 33 ms | 8552 KiB |
| testcase_18 | AC | 33 ms | 8544 KiB |
| testcase_19 | AC | 33 ms | 8544 KiB |
| testcase_20 | AC | 33 ms | 8548 KiB |
| testcase_21 | AC | 33 ms | 8548 KiB |
| testcase_22 | AC | 33 ms | 8548 KiB |
| testcase_23 | AC | 33 ms | 8544 KiB |