首页 > 解决方案 > 为什么我在下面的代码中收到 NZEC 错误?

问题描述

这是我在 codechef 上遇到 NZEC 错误但在我的本地 IDE 上执行良好的代码。

def kadane(arr,n):
   curr_sum=0
   max_so_far =0
   for i in range(n):
       curr_sum=curr_sum+arr[i]
       if(max_so_far<curr_sum):
           max_so_far=curr_sum
       if(curr_sum<0):
           curr_sum=0
   return max_so_far
def maxSub(arr,n,k):
   kadane_sum=kadane(arr,n)
   if (k==1):
      return kadane_sum
   curr_prefix,curr_suffix,max_prefix,max_suffix=0,0,0,0
   for i in range(n):
       curr_prefix +=arr[i]
       max_prefix=max(curr_prefix,max_prefix)
   total=curr_prefix
   for i in range(n-1,-1,-1):
       curr_suffix=curr_suffix+arr[i]
       max_suffix=max(curr_suffix,max_suffix)
   if total<0:
       ans=max(max_suffix+max_suffix,kadane_sum)
   else:
       ans=max(max_suffix+max_prefix+(total*(k-2)),kadane_sum)
   return ans

我认为错误是在程序启动时接受输入,因为逻辑是可靠的。

for _ in range(int(input())):
    n,k=map(int,input().split())
    l=list(map(int,input().split()))
    print(maxSub(l,n,k))

标签: python-3.x

解决方案


推荐阅读