Python3第一个WA无法解决
  • 板块题目总版
  • 楼主li9htlife
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/4/8 10:00
  • 上次更新2024/4/8 16:32:28
查看原帖
Python3第一个WA无法解决
875140
li9htlife楼主2024/4/8 10:00
N,M=map(int,input().split())        #N是关卡数量,M是通道数量
L=[0]*20010
f=[0]*20010                         #开空间,这个是最大得分数组,每一关的最大得分。
a=list(map(int,input().split()))    #通道大小
b=list(map(int,input().split()))    #分数表                        
for i in range(20010):              #全部初始化,防止有些关是负分的
    f[i]=int(-1e9)
f[0]=b[0]                           #由题意得f[0](在第一关最大得分)一定是b[0]                       
for i in range(N):                  #防止超出了最大关卡,所以超出的关卡就加0分
    L[i]=b[i]
for i in range(N+10):               #dp
    for j in range(M):
        if i-a[j]<0:
            continue
        else:
            k=i-a[j]
            f[i]=max(f[i],f[k]+L[i])
ans=int(-1e9)                       #设置ans=-1e9防止出现负数,以及最大得分不是最后一关等等
for i in range(N+10):
    ans=int(max(ans,f[i]))
print(ans)

样例输入输出正常,80分,改了很多次范围……

2024/4/8 10:00
加载中...