改了两天,Py70分,剩下LTE。这道题感觉走到尽头了,Py过不了。
查看原帖
改了两天,Py70分,剩下LTE。这道题感觉走到尽头了,Py过不了。
707862
s_a_b_e_ryyds楼主2022/5/12 18:06
def hanshu(ls,a,b,c,d):
    global y
    if b==0:
        if c<=d:
            e=d-c
            if e<y:
                y=e
    else:
        for i in range(a):
            c+=ls[i]
            if c>d:
                return None
            hanshu(ls[i+1:],a-i-1,b-1,c,d)
            c-=ls[i]
s1,s2,s3,s4=map(int,input().strip().split())
ls1=[int(i) for i in input().strip().split()]
ls2=[int(i) for i in input().strip().split()]
ls3=[int(i) for i in input().strip().split()]
ls4=[int(i) for i in input().strip().split()]
ls=[[ls1,s1],[ls2,s2],[ls3,s3],[ls4,s4]]
x=0
for i in ls:
    i[0].sort()
    if i[1]==1:
        x+=i[0][0]
    elif i[1]==2:
        x+=max(i[0])
    else:
        y=float('inf')
        z=sum(i[0])/2
        for j in range(1,i[1]):
            hanshu(i[0],i[1],j,0,z)
        x+=z+y
print(int(x))
2022/5/12 18:06
加载中...