結果
| 問題 |
No.1104 オンライン点呼
|
| ユーザー |
gew1fw
|
| 提出日時 | 2025-06-12 12:47:00 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,069 bytes |
| コンパイル時間 | 170 ms |
| コンパイル使用メモリ | 82,596 KB |
| 実行使用メモリ | 102,764 KB |
| 最終ジャッジ日時 | 2025-06-12 12:47:04 |
| 合計ジャッジ時間 | 4,257 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 24 WA * 1 |
ソースコード
N, K = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
if N == 1:
print(0)
else:
max_time = 0
# Handle j=2
time_j2 = A[0] + B[1]
max_time = time_j2
if N == 2:
print(max_time)
exit()
prev_prev = 0 # time for j-2=1
prev = time_j2 # time for j-1=2
max_time = max(max_time, prev)
for j in range(3, N + 1):
# j is current employee (1-based)
# j-2 is the index in A for employee j-2 (0-based)
a_j_minus_1 = A[j-2] # A[j-2] corresponds to employee j-1's A_i
b_j = B[j-1] # B[j-1] is employee j's B_i
condition1 = prev + a_j_minus_1 + b_j
a_j_minus_2 = A[j-3] if j-3 >= 0 else 0 # j >=3 implies j-3 >=0 when j starts from 3
condition2 = prev_prev + a_j_minus_2 + b_j + K
current = min(condition1, condition2)
max_time = max(max_time, current)
# Update previous values
prev_prev, prev = prev, current
print(max_time)
gew1fw