結果
問題 | No.2100 [Cherry Alpha C] Two-way Steps |
ユーザー |
![]() |
提出日時 | 2022-10-14 22:20:28 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 892 bytes |
コンパイル時間 | 183 ms |
コンパイル使用メモリ | 82,256 KB |
実行使用メモリ | 117,148 KB |
最終ジャッジ日時 | 2024-06-26 15:23:24 |
合計ジャッジ時間 | 12,307 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 31 WA * 17 |
ソースコード
import sysdef solve(H, g):n = len(H)dp = [[-1] * 2 for _ in range(n)]dp[0] = [0, 0]for x in range(n):hx = H[x]for y in g[x]:hy = H[y]up = 1 if hy > hx else 0d = max(0, hy - hx)for i in range(2):if dp[x][i] == -1: continueif i == 1 and up: continuedp[y][up] = max(dp[y][up], dp[x][i] + d)return max(dp[-1])def main():input = sys.stdin.readlinen, m = map(int, input().split())H = list(map(int, input().split()))g1 = [[] for _ in range(n)]g2 = [[] for _ in range(n)]n2 = n - 1for _ in range(m):x, y = map(lambda x: int(x) - 1, input().split())g1[x].append(y)g2[n2 - y].append(n2 - x)print(solve(H, g1))print(solve(H[::-1], g1))if __name__ == '__main__':main()