結果
問題 |
No.2656 XOR Slimes
|
ユーザー |
|
提出日時 | 2024-03-01 23:03:25 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 712 bytes |
コンパイル時間 | 551 ms |
コンパイル使用メモリ | 82,204 KB |
実行使用メモリ | 848,480 KB |
最終ジャッジ日時 | 2024-09-29 14:47:46 |
合計ジャッジ時間 | 4,181 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 3 |
other | AC * 1 WA * 3 MLE * 1 -- * 50 |
ソースコード
import heapq import sys input = sys.stdin.readline N = int(input()) X = list(map(int, input().split())) A = list(map(int, input().split())) dp = [[[0, 0] for _ in range(N)] for _ in range(N)] for i in range(N): dp[i][i][0] = A[i] for i in range(N): for j in range(i+1, N): dp[i][j][0] = dp[i][j-1][0] ^ A[j] dp[i][j][1] += dp[i][j-1][1] + X[j]-X[j-1] #print(dp) ans = sum(A) print(ans) exit() INF = 10**18 dp2 = [INF for _ in range(N)] stack = [(0, 0)] while stack: sco, i = heapq.heappop(stack) for j in range(i, N): if sco+dp[i][j][0]+dp[i][j][1] < dp2[j]: dp2[j] = sco+dp[i][j][0]+dp[i][j][1] heapq.heappush(stack, (dp2[j], j+1)) print(dp2[-1])