結果
| 問題 | No.2982 Logic Battle |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-09-20 16:35:02 |
| 言語 | PyPy3 (7.3.23 + ACL) |
| 結果 |
MLE
不安定
|
| 実行時間 | - |
| コード長 | 792 bytes |
| 記録 | |
| コンパイル時間 | 67 ms |
| コンパイル使用メモリ | 81,736 KB |
| 実行使用メモリ | 673,376 KB |
| 最終ジャッジ日時 | 2026-09-20 16:36:11 |
| 合計ジャッジ時間 | 53,722 ms |
|
ジャッジサーバーID (参考情報) |
judge4_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 19 TLE * 17 MLE * 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(N+1)]
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][j][x]+z0*R
y = min(z,R)
s += y
y = max(0,y-1)
dp[i+1][k][y] = max(dp[i+1][k][y],s)
ans = 0
for j in range(3):
ans = max(ans,dp[N][j][0])
print(ans)