Submission #1185512


Source Code Expand

A,B = list(map(int,input().split()))
a = list(map(int,input().split()))
b = list(map(int,input().split()))

# A,B = 4,4
# a = [2,4,5,4]
# b = [2,8,3,4]

# A,B = 1,3
# a = [1]
# b = [2,9,9]


# dp[i][j] = 左からi右からjとったときの最高点

dp = [[0 for j in range(B+1)] for i in range(A+1)]

for i in range(A)[::-1]:
	if (A-i)%2 == 0:
		dp[i][B] = dp[i+1][B] + a[i]
	else:
		dp[i][B] = dp[i+1][B]
for j in range(B)[::-1]:
	if (B-j)%2 == 0:
		dp[A][j] = dp[A][j+1] + b[j]
	else:
		dp[A][j] = dp[A][j+1]

for i in range(A)[::-1]:
	for j in range(B)[::-1]:
		if (i+j)%2 == 0:
			dp[i][j] = max(dp[i+1][j]+a[i], dp[i][j+1]+b[j])
		else:
			dp[i][j] = min(dp[i+1][j], dp[i][j+1])


print(dp[0][0])

for i in dp:
	print(i)




Submission Info

Submission Time
Task B - ゲーム
User chahan69
Language Python (3.4.3)
Score 0
Code Size 778 Byte
Status WA
Exec Time 909 ms
Memory 35652 KB

Judge Result

Set Name All
Score / Max Score 0 / 3
Status
WA × 5
Set Name Test Cases
All 00, 01, 02, 90, 91
Case Name Status Exec Time Memory
00 WA 17 ms 3064 KB
01 WA 653 ms 24884 KB
02 WA 909 ms 35652 KB
90 WA 17 ms 3064 KB
91 WA 17 ms 3064 KB