結果
| 問題 | No.2982 Logic Battle |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-09-20 16:39:32 |
| 言語 | PyPy3 (7.3.23 + ACL) |
| 結果 |
RE
不安定
|
| 実行時間 | - |
| コード長 | 800 bytes |
| 記録 | |
| コンパイル時間 | 70 ms |
| コンパイル使用メモリ | 81,668 KB |
| 実行使用メモリ | 87,244 KB |
| 最終ジャッジ日時 | 2026-09-20 16:40:18 |
| 合計ジャッジ時間 | 43,719 ms |
|
ジャッジサーバーID (参考情報) |
judge4_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 3 RE * 32 TLE * 3 |
ソースコード
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):
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][j][0])
print(ans)