結果

問題 No.185 和風
コンテスト
ユーザー Takashi_Oda
提出日時 2026-06-10 02:15:47
言語 Common Lisp
(sbcl 2.6.3)
コンパイル:
sbclc _filename_
実行:
sbcl --script Main.fasl
結果
AC  
実行時間 10 ms / 1,000 ms
コード長 925 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 947 ms
コンパイル使用メモリ 29,952 KB
実行使用メモリ 22,656 KB
最終ジャッジ日時 2026-06-10 02:15:49
合計ジャッジ時間 2,047 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge3_0
純コード判定待ち
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 7
権限があれば一括ダウンロードができます
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 10 JUN 2026 02:15:47 AM):

; wrote /home/judge/data/code/Main.fasl
; compilation finished in 0:00:00.023

ソースコード

diff #
raw source code

(defun solve (X Y) (let ((A (vector-sum X Y)))
    (if (and (vecelem-equal A) (< 0 (aref A 0))) ;ベクトル内の要素がすべて等しく、それが正か?
        (aref A 0) -1)));条件を満たしていればその値=ベクトルの先頭、そうでなければ-1

;;ベクトル内の要素がすべて等しければt,1つでも違えばnil
(defun vecelem-equal (A)
    (let ((res t))
    (dotimes (i (length A)) 
        (if (not (= (aref A 0) (aref A i)))
            (setf res nil)))
    res))

;2つの同長のベクトルを取って、各要素の差を引き算する
(defun vector-sum (X Y) (map 'vector #'- Y X))

(defun read-vec (N X Y)
    (dotimes (i N)
        (setf (aref X i) (read))
        (setf (aref Y i) (read))))

(defun main () (let* ((N (read)) (X (make-array N :initial-element 0)) (Y (make-array N :initial-element 0)))
    (read-vec N X Y)
    (format t "~A~%" (solve X Y))))

(main)
0