結果
| 問題 |
No.2248 max(C)-min(C)
|
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-03-31 17:40:03 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,982 ms / 3,000 ms |
| コード長 | 768 bytes |
| コンパイル時間 | 254 ms |
| コンパイル使用メモリ | 82,656 KB |
| 実行使用メモリ | 133,936 KB |
| 最終ジャッジ日時 | 2025-03-31 17:42:08 |
| 合計ジャッジ時間 | 55,570 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 51 |
ソースコード
n = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
elements = []
for i in range(n):
a = A[i]
b = B[i]
mid = (a + b) // 2
options = {a, b, mid}
for val in options:
elements.append((val, i))
elements.sort()
freq = [0] * n
current_min = float('inf')
count = 0
left = 0
for right in range(len(elements)):
val_r, i_r = elements[right]
if freq[i_r] == 0:
count += 1
freq[i_r] += 1
while count == n:
current_range = val_r - elements[left][0]
if current_range < current_min:
current_min = current_range
val_l, i_l = elements[left]
freq[i_l] -= 1
if freq[i_l] == 0:
count -= 1
left += 1
print(current_min)
lam6er