如题,代码如下,这是跑得最好的一次,90分,差0.08秒,用的pypy,求大佬优化一下
from sys import stdin
def find(data, be, half):
if be >= half:
return be
if not data:
return 0
result = [find(data[i + 1:], be + data[i], half) for i in range(len(data))]
return sorted(result, key=lambda x: max(x, su - x))[0]
input = stdin.readline
input()
s = 0
for j in range(4):
i = list(map(int, input().split()))
t = 1200
su = sum(i)
l = find(i, 0, su // 2)
s += max(l, su-l)
print(s)
记录