Submission #3778946


Source Code Expand

import strutils, sequtils, algorithm, tables, sets

var A, B: int
(A, B) = stdin.readLine.split.map(parseInt)

var
    aa = stdin.readLine.split.map(parseInt)
    bb = stdin.readLine.split.map(parseInt)

var memo = initTable[tuple[a, b: int], int]()

proc snuke(ai, bi: int): int =
    if memo.contains((ai, bi)):
        return memo[(ai, bi)]

    var ans = 0
    if ai < A - 1:
        ans = max(ans, aa[ai] + min(snuke(ai + 2, bi), snuke(ai + 1, bi + 1)))
    elif ai < A:
        ans = max(ans, aa[ai] + snuke(ai + 1, bi + 1))
    if bi < B - 1:
        ans = max(ans, bb[bi] + min(snuke(ai + 1, bi + 1), snuke(ai, bi + 2)))
    elif bi < B:
        ans = max(ans, bb[bi] + snuke(ai + 1, bi + 1))

    memo[(ai, bi)] = ans
    result = ans

echo snuke(0, 0)

Submission Info

Submission Time
Task B - ゲーム
User shirodoni
Language Nim (0.13.0)
Score 0
Code Size 789 Byte
Status WA
Exec Time 310 ms
Memory 99036 KB

Compile Error

Hint: system [Processing]
Hint: Main [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: sequtils [Processing]
Hint: algorithm [Processing]
Hint: tables [Processing]
Hint: hashes [Processing]
Hint: etcpriv [Processing]
Hint: math [Processing]
Hint: times [Processing]
Hint: sets [Processing]
Hint: os [Processing]
Hint: posix [Processing]
Hint:  [Link]
Hint: operation successful (23298 lines compiled; 2.127 sec total; 22.230MB; Release Build) [SuccessX]

Judge Result

Set Name All
Score / Max Score 0 / 3
Status
AC × 3
WA × 2
Set Name Test Cases
All 00, 01, 02, 90, 91
Case Name Status Exec Time Memory
00 AC 1 ms 256 KB
01 WA 189 ms 49888 KB
02 WA 310 ms 99036 KB
90 AC 1 ms 256 KB
91 AC 1 ms 256 KB