結果
| 問題 | No.185 和風 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-06-10 02:15:47 |
| 言語 | Common Lisp (sbcl 2.6.3) |
| 結果 |
AC
|
| 実行時間 | 10 ms / 1,000 ms |
| コード長 | 925 bytes |
| 記録 | |
| コンパイル時間 | 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
ソースコード
(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)