Submission #5117959


Source Code Expand

from functools import lru_cache
import sys
sys.setrecursionlimit(1000000)

A, B = map(int, input().split())
X = [int(a) for a in input().split()]
Y = [int(a) for a in input().split()]

@lru_cache(maxsize=None)
def calc(a, b):
    if a == A and b == B:
        return 0
    if (a+b) % 2 == 0:
        ret = 0
        if a < A:
            ret = max(ret, X[a] + calc(a + 1, b))
        if b < B:
            ret = max(ret, Y[b] + calc(a, b + 1))
        return ret
    else:
        ret = 10 ** 100
        if a < A:
            ret = min(ret, calc(a + 1, b))
        if b < B:
            ret = min(ret, calc(a, b + 1))
        return ret

print(calc(0, 0))

Submission Info

Submission Time
Task B - ゲーム
User Kiri8128
Language Python (3.4.3)
Score 0
Code Size 683 Byte
Status TLE
Exec Time 2109 ms
Memory 83184 KB

Judge Result

Set Name All
Score / Max Score 0 / 3
Status
AC × 3
TLE × 2
Set Name Test Cases
All 00, 01, 02, 90, 91
Case Name Status Exec Time Memory
00 AC 23 ms 3572 KB
01 TLE 2109 ms 83184 KB
02 TLE 2109 ms 81728 KB
90 AC 23 ms 3572 KB
91 AC 23 ms 3572 KB