結果
問題 |
No.1120 Strange Teacher
|
ユーザー |
![]() |
提出日時 | 2025-03-20 20:49:12 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 87 ms / 1,000 ms |
コード長 | 1,307 bytes |
コンパイル時間 | 170 ms |
コンパイル使用メモリ | 82,284 KB |
実行使用メモリ | 103,144 KB |
最終ジャッジ日時 | 2025-03-20 20:49:24 |
合計ジャッジ時間 | 3,491 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
def main(): import sys input = sys.stdin.read().split() ptr = 0 N = int(input[ptr]) ptr += 1 A = list(map(int, input[ptr:ptr+N])) ptr += N B = list(map(int, input[ptr:ptr+N])) sum_A = sum(A) sum_B = sum(B) if N == 2: if sum_A != sum_B: print(-1) return delta = B[0] - A[0] x = abs(delta) k0 = (x + (B[0] - A[0])) // 2 k1 = (x + (B[1] - A[1])) // 2 if k0 >= 0 and k1 >= 0 and (k0 + k1) == x: print(x) else: print(-1) return else: numerator = sum_B - sum_A denominator = 2 - N if denominator == 0: print(-1) return if numerator % denominator != 0: print(-1) return x = numerator // denominator if x < 0: print(-1) return valid = True for a, b in zip(A, B): temp = x + (b - a) if temp < 0 or temp % 2 != 0: valid = False break k_i = temp // 2 if k_i < 0: valid = False break if valid: print(x) else: print(-1) if __name__ == "__main__": main()