結果
| 問題 | No.3185 Three Abs |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-08-03 09:05:57 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,149 bytes |
| 記録 | |
| コンパイル時間 | 240 ms |
| コンパイル使用メモリ | 95,720 KB |
| 実行使用メモリ | 145,980 KB |
| 最終ジャッジ日時 | 2026-08-03 09:06:13 |
| 合計ジャッジ時間 | 11,727 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | WA * 30 |
ソースコード
T = int(input())
for _ in range(T):
N = int(input())
A = [0]+list(map(int,input().split()))
if sum(A)<0:
A = [-a for a in A]
Ind = []
amin = 10**9
indmin = -1
for i in range(N):
if A[i]<0:
Ind.append(i)
if A[i]<amin:
amin = A[i]
indmin = i
if len(Ind)==0:
print(sum(A))
else:
B = [0]*(N+1)
for i in range(1,N+1):
B[i] = B[i-1]+A[i]
lmin = 10**9
indl = -1
rmin = 10**9
indr = -1
for i in Ind:
if i<indmin:
if B[indmin-1]-B[i-1]<lmin:
lmin = B[indmin-1]-B[i-1]
indl = i
elif i>indmin:
if B[i]-B[indmin]<rmin:
rmin = B[i]-B[indmin]
indr = i
ans = 0
if lmin<0:
ans += abs(B[indl-1])+abs(lmin)
else:
ans += abs(B[indmin-1])
if rmin<0:
ans += abs(B[N]-B[indr])+abs(rmin)
else:
ans += abs(B[N]-B[indmin])
ans += abs(amin)
print(ans)