結果
| 問題 | No.2982 Logic Battle |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-09-20 17:28:27 |
| 言語 | PyPy3 (7.3.23 + ACL) |
| 結果 |
TLE
不安定
|
| 実行時間 | - |
| コード長 | 891 bytes |
| 記録 | |
| コンパイル時間 | 62 ms |
| コンパイル使用メモリ | 82,352 KB |
| 実行使用メモリ | 97,888 KB |
| 最終ジャッジ日時 | 2026-09-20 17:29:12 |
| 合計ジャッジ時間 | 45,459 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 36 TLE * 2 |
ソースコード
N = int(input())
A = [0]+[list(map(int,input().split())) for _ in range(N)]
INFTY = 10**17
dp = [[[-INFTY for _ in range(N+1)] for _ in range(3)] for _ in range(2)]
for j in range(3):
z = A[1][j]
R = N+1-1
z0 = max(0,z-R)
s = R*z0
x = min(z,R)
s += x
x = max(0,x-1)
dp[1][j][x] = s
for i in range(1,N):
ndp = [[-INFTY for _ in range(N+1-(i+1)+1)] for _ in range(3)]
dp[(i+1)%2] = ndp
for j in range(3):
for x in range(N+1-i+1):
for k in range(3):
if k==j:continue
z = x+A[i+1][k]
R = N+1-(i+1)
z0 = max(0,z-R)
s = dp[i%2][j][x]+z0*R
y = min(z,R)
s += y
y = max(0,y-1)
dp[(i+1)%2][k][y] = max(dp[(i+1)%2][k][y],s)
ans = 0
for j in range(3):
ans = max(ans,dp[N%2][j][0])
print(ans)