Harryxun/GPT-100-sft-dataset huggingface dataset:
Problem p03274 (python)

Fixed submission:

n, k = map(int, input().split())
li = list(map(int, input().split()))
li.append(0)
li.sort()
zero_index = li.index(0)
if zero_index == 0:
    print(li[k])
elif zero_index == len(li) -1:
    print(abs(li[-k-1]))
else:
    near_zero_small = li[zero_index-1]
    near_zero_big = li[zero_index+1]
    li.pop(zero_index)
    ans = 0
    cost = 0
    for i in range(n-k+1):
        minimam = li[i]
        maximam = li[i+k-1]
        if (minimam > 0 and maximam > 0 ):
            if minimam == near_zero_big:
                cost = maximam
        elif (minimam < 0 and maximam < 0 ):
            if minimam == near_zero_big:
                cost = abs(minimam)
        else:
            cost = min(abs(minimam), maximam)*2 + max(abs(minimam), maximam)
        if ans > cost or ans == 0:
            ans = cost
    print(ans)

Buggy submission (verdict: Runtime Error):

n, k = map(int, input().split())
li = list(map(int, input().split()))
li.append(0)
li.sort()
zero_index = li.index(0)
if zero_index == 0:
    print(li[k])
elif zero_index == len(li) -1:
    print(abs(li[-k-1]))
else:
    near_zero_small = li[zero_index-1]
    near_zero_big = li[zero_index+1]
    li.pop(zero_index)
    ans = 0
    cost = 0
    for i in range(n):
        minimam = li[i]
        maximam = li[i+k-1]
        if (minimam > 0 and maximam > 0 ):
            if minimam == near_zero_big:
                cost = maximam
        elif (minimam < 0 and maximam < 0 ):
            if minimam == near_zero_big:
                cost = abs(minimam)
        else:
            cost = min(abs(minimam), maximam)*2 + max(abs(minimam), maximam)
        if ans > cost or ans == 0:
            ans = cost
    print(ans)
Problem p03280 (python)

Fixed submission:

a,b= map(int, input().split())
print((a-1) * (b-1))

Buggy submission (verdict: Runtime Error):
s = input()
n = int(input())
 
count = 0
for i in s:
    count+=1
    if i != "1" or count == n:
        print(i)
        break
else:
    print(1)
Problem p03282 (python)

Fixed submission:
s = input()
n = int(input())
 
count = 0
for i in s:
    count+=1
    if i != "1" or count == n:
        print(i)
        break
else:
    print(1)

Buggy submission (verdict: Runtime Error):
s = input()
n = int(input())

count = 0
for i in s:
  	count += 1
    if i != "1" or (count == n):
        print(i)
        break
else:
    print(1)

Buggy submission (verdict: Runtime Error):
s = input()
n = int(input())

count = 0
for i in s:
  	count += 1
    if i != "1" or count == n:
        print(i)
        break
else:
    print(1)
Problem p03379 (python)

Fixed submission:
n = int(input())
li = list(map(int, input().split()))
mid_id = (len(li)//2)
temp = li.copy()
temp.sort()
mid1 = temp[mid_id-1]
mid2 = temp[mid_id]
for i in li:
    if i <= mid1:
        print(mid2)
    else:
        print(mid1)

Buggy submission (verdict: Runtime Error):
n, m, x = map(int, input().split())
li = list(map(int, input().split()))

print(min(sum(li[:x]), sum(li[x+1:])))
Problem p03409 (python)

Fixed submission:
n = int(input())  
red_li = [list(map(int, input().split())) for _ in range(n)]
blue_li = [list(map(int, input().split())) for _ in range(n)]
ans = 0
red_li.sort(reverse = True, key = lambda x : (x[0], x[1]))
blue_li.sort( key = lambda x : (x[0], x[1]))

def count(red, blue):
    used_red = []
    used_blue = []
    for i in red:
        if i in used_red:
            continue
        for j in blue:
            if j in used_blue:
                continue
            if i[0] < j[0] and i[1] < j[1]:
                used_red.append(i)
                used_blue.append(j)
                break
    return len(used_red)

ans = count(red_li, blue_li)
red_li.sort(reverse = True,key = lambda x : (x[1], x[0]))
blue_li.sort( key = lambda x : (x[1], x[0]))
ans = max(ans, count(red_li, blue_li))
red_li.sort(reverse = True,key = lambda x : (x[1], x[0]))
blue_li.sort( key = lambda x : (x[0], x[1]))
ans = max(ans, count(red_li, blue_li))
red_li.sort(reverse = True,key = lambda x : (x[0], x[1]))
blue_li.sort( key = lambda x : (x[1], x[0]))
ans = max(ans, count(red_li, blue_li))
print(ans)

Buggy submission (verdict: Runtime Error):
n = int(input())  
red_li = [list(map(int, input().split())) for _ in range(n)]
blue_li = [list(map(int, input().split())) for _ in range(n)]
ans = 0
red_li.sort(reverse = True, key = lambda x : (x[0], x[1]))
blue_li.sort( key = lambda x : (x[0], x[1]))

def count(red, blue, used_red, used_blue):
    used_red = []
    used_blue = []
    for i in red:
        if i in used_red:
            continue
        for j in blue:
            if j in used_blue:
                continue
            if i[0] < j[0] and i[1] < j[1]:
                used_red.append(i)
                used_blue.append(j)
                break
    return len(used_red)

ans = count(red_li, blue_li)
red_li.sort(reverse = True,key = lambda x : (x[1], x[0]))
blue_li.sort( key = lambda x : (x[1], x[0]))
ans = max(ans, count(red_li, blue_li))
red_li.sort(reverse = True,key = lambda x : (x[1], x[0]))
blue_li.sort( key = lambda x : (x[0], x[1]))
ans = max(ans, count(red_li, blue_li))
red_li.sort(reverse = True,key = lambda x : (x[0], x[1]))
blue_li.sort( key = lambda x : (x[1], x[0]))
ans = max(ans, count(red_li, blue_li))
print(ans)
Problem p03435 (python)

Fixed submission:

li = [list(map(int, input().split())) for _ in range(3)]
sum1 = li[0][0] + li[1][1] + li[2][2]
sum2 = li[1][0] + li[2][1] + li[0][2]
sum3 = li[2][0] + li[0][1] + li[1][2]
if sum1 ==sum2 and sum2 == sum3:
    print("Yes")
else:
    print("No")

Buggy submission (verdict: Runtime Error):

li = [list(map(int, input().split())) for _ in range(3)]
sum1 = li[0][0] + li[1][1] + li[2][2]
sum2 = li[1][0] + li[2][1] + li[0][2]
sum3 = li[2][0] + li[3][1] + li[1][2]
if sum1 ==sum2 and sum2 == sum3:
    print("Yes")
else:
    print("No")
Problem p02658 (python)

Fixed submission:
n = int(input())
a_list = list(map(int,input().split()))
result = 1
if 0 in a_list:
  print(0)
else:
  for a in a_list:
    result = result *a
    if len(str(result)) >= 19:
      if result == 10**18:
        continue
      else:
        result = -1
        break
        
  print(result)

Buggy submission (verdict: Runtime Error):
import numpy as np
n = int(input())
a_list = list(map(int,input().split()))
import math
result = 0
check = True
for a in a_list:
  if a == 0:
    check = False
    break
  else:
    result += math.log10(a)
if check == False:
  print(0)
elif 10**result > 18:
  print(-1)
else:
  print(int(10**result))
Problem p02684 (python)

Fixed submission:
n,k = map(int,input().split())
a_list = list(map(int,input().split()))
past_a = [1]
first = 0
for i in range(n):
    past_a.append(a_list[past_a[-1] - 1])
    
def check(past_a):
  if len(past_a) == len(set(past_a)):
    return True
  else:
    return False
  
left = 0
right = len(past_a)

while right - left > 1:
  middle = (right + left)//2
  if check(past_a[:middle]) == True:
    left = middle
  else:
    right = middle
roop_2 = left 
roop_1 = past_a.index(past_a[roop_2])
unit = roop_2 - roop_1
p_unit = past_a[roop_1:roop_2]
if k <= left:
  print(past_a[k])
else:
  k = (k - left) % unit
  print(p_unit[k])

Buggy submission (verdict: Runtime Error):
n,k = map(int,input().split())
a_list = list(map(int,input().split()))
past_a = [1]
first = 0
for i in range(1,n+1):
  if a_list[past_a[-1] - 1] in past_a:
    first = i
    past_a.append(a_list[past_a[-1] - 1])
    break
  else:
    past_a.append(a_list[past_a[-1] - 1])
roop = past_a.index(a_list[first])
unit = first - roop
unit_a = past_a[roop:first]
k = (k-first) % unit
print(unit_a[k])
Problem p02715 (python)

Fixed submission:
n,k = map(int,input().split())
gcd_num = [0 for i in range(k+1)]
c = 10**9 + 7
ans = 0
for i in range(k,0,-1):
  x = k//i
  #gcd = xを満たす何組あるかのあまりを計算
  #あまりを取らないとオーバーフローする
  gcd_num[i] = pow(x,n,c)
  #重複するのを取り除く
  for j in range(2,x+1):
    gcd_num[i] -= gcd_num[i * j]
  #最後にgcdの大きさによる重み付けする
  ans += gcd_num[i] * i
  
print(ans%c)

Buggy submission (verdict: Runtime Error):
n = input()
k = int(input())
dp = [[[0 for i in range(len(n)+1)] for i in range(2)] for i in range(len(n)+1)]
dp[0][0][0] = 1
for a in range(len(n)):
  for b in range(2):
    for c in range(len(n)):
      for i in range(10):
        if b ==1:
          if i != 0:
            dp[a+1][1][c+1] += dp[a][1][c]
          else:
            dp[a+1][1][c] += dp[a][1][c]
        else:
          if int(n[a]) > i and i ==0:
            dp[a+1][1][c] += dp[a][0][c]
          if int(n[a]) > i and i != 0:
            dp[a+1][1][c+1] += dp[a][0][c]
          if int(n[a]) == i and i ==0:
            dp[a+1][0][c] += dp[a][0][c]
          if int(n[a]) == i and i !=0:
            dp[a+1][0][c+1] += dp[a][0][c]
if len(n) == 1:
	print(int(n))  
else:
  print(dp[-1][0][k] + dp[-1][1][k])
Problem p02719 (python)

Fixed submission:
n,k = map(int,input().split())

if n == 0:
  print(0)
elif n % k==0:
  print(0)
elif n >k:
  while n > abs(n - k):
    n = min(abs(n - k),n % k)
  print(n)
else:
  while n > abs(n - k):
    n = abs(n - k)
  print(n)

Buggy submission (verdict: Runtime Error):
n,k = map(int,input().split())
left = 0
right = 10**19

while right - left >1:
  middle = (right + left)//2
  if middle < abs(middle - k) :
    left = middle
  else:
    right = middle
if n < k and k //n == 2:
  print(n)
elif n//k ==2:
    print(0)
else:
  print(min(left,abs(n-k),n))
Problem p02720 (python)

Fixed submission:
import heapq
k = int(input())
run_list = [i for i in range(1,10)]
heapq.heapify(run_list)
result = 0
for i in range(k):
  result = heapq.heappop(run_list)
  if result % 10 ==0:
    new_1 = result * 10
    new_2 = result * 10 + 1
    heapq.heappush(run_list, new_1)
    heapq.heappush(run_list, new_2)
  elif result % 10 ==9:
    new_1 = result * 10 + 8
    new_2 = result * 10 + 9
    heapq.heappush(run_list, new_1)
    heapq.heappush(run_list, new_2)
  else:
    new_1 = result * 10 + (result % 10)
    new_2 = result * 10 + (result % 10) + 1
    new_3 = result * 10 + (result % 10) - 1
    heapq.heappush(run_list, new_1)
    heapq.heappush(run_list, new_2)
    heapq.heappush(run_list, new_3)
print(result)

Buggy submission (verdict: Runtime Error):
import heapq
k = int(input())
run_list = [i for i in range(1,10)]
heapq.heapify(run_list)
result = 0
for i in range(k):
  result = heapq.pop(run_list)
  if result % 10 ==0:
    new_1 = result * 10
    new_2 = result * 10 + 1
    heapq.heappush(run_list, new_1)
    heapq.heappush(run_list, new_2)
  elif result % 10 ==9:
    new_1 = result * 10 + 8
    new_2 = result * 10 + 9
    heapq.heappush(run_list, new_1)
    heapq.heappush(run_list, new_2)
  else:
    new_1 = result * 10 + (resut % 10)
    new_2 = result * 10 + (resut % 10) + 1
    new_3 = result * 10 + (resut % 10) - 1
    heapq.heappush(run_list, new_1)
    heapq.heappush(run_list, new_2)
print(result)
    heapq.heappush(run_list, new_3)
Problem p02780 (python)

Fixed submission:
n,k = map(int,input().split())
p_list = list(map(int,input().split()))
ruiseki = []
a = 0
for i in range(n):
  a += p_list[i]
  ruiseki.append(a)
res = -1
val_list = []
for m in range(n-k):
  val = ruiseki[k+m] - ruiseki[m]
  val_list.append(val)
if n ==k :
  	print((sum(p_list) + k)/2)
else:
	print((max(val_list)+k)/ 2)

Buggy submission (verdict: Runtime Error):
n,k = map(int,input().split())
p_list = list(map(int,input().split()))
ruiseki = []
a = 0
for i in range(n):
  a += p_list[i]
  ruiseki.append(a)
res = -1
val_list = []
for m in range(n-k):
  val = ruiseki[k+m] - ruiseki[m]
  val_list.append(val)
print((max(val_list)+k)/ 2)

Buggy submission (verdict: Runtime Error):
n,k = map(int,input().split())
p_list = list(map(int,input().split()))
ruiseki = []
a = 0
for i in range(n):
  a += p_list[i]
  ruiseki.append(a)
res = -1
for m in (n-k):
  val = ruiseki[k+i] - ruiseki[i]
  if val > res:
    res = val
print(val)
Problem p02843 (python)

Fixed submission:
x = int(input())
dp = [0]*(x + 106)
dp[0] = 1
for i in range(x):
  if dp[i] == 1:
    dp[i + 100] =1
    dp[i + 101] =1
    dp[i + 102] =1
    dp[i + 103] =1
    dp[i + 104] =1
    dp[i + 105] =1
if dp[x] ==1:
  print(1)
else :
  print(0)

Buggy submission (verdict: Runtime Error):
x = int(input())
dp = [0]*x*100
dp[0] = 1
for i in range(x):
  if dp[i] == 1:
    dp[i + 100] =1
    dp[i + 101] =1
    dp[i + 102] =1
    dp[i + 103] =1
    dp[i + 104] =1
    dp[i + 105] =1
if dp[x] ==1:
  print(1)
else :
  print(0)
Problem p02923 (python)

Fixed submission:
n = int(input())
h_list = list(map(int,input().split()))
count_list = []
i = 0
counter = 0
for i in range(n-1):
    if h_list[i] >= h_list[i + 1]:
       count_list.append(1)
    else :
       count_list.append(0)
result_list = []
result = 0
for m in count_list:
    if m == 1:
        result += 1
        result_list.append(result)
        
    else :
        result = 0
        result_list.append(result)
        
if result_list == []:
    print(0)
else:
    print(max(result_list))

Buggy submission (verdict: Runtime Error):
n = int(input())
h_list = list(map(int,input().split()))
count_list = []
i = 0
counter = 0
for i in range(n-1):
    if len(h_list) == 1:
      count_list.append(0)
      break
    if h_list[i] >= h_list[i + 1]:
       count_list.append(1)
    else :
       count_list.append(0)
result_list = []
result = 0
for m in count_list:
    if m == 1:
        result += 1
        result_list.append(result)
        
    else :
        result = 0
        result_list.append(result)
        
print(max(result_list))

Buggy submission (verdict: Runtime Error):
n = int(input())
h_list = list(map(int,input().split()))
count_list = []
i = 0
counter = 0
for i in range(n-1):
    if n == 1:
      count_list.append(0)
      break
    if h_list[i] >= h_list[i + 1]:
       count_list.append(1)
    else :
       count_list.append(0)
result_list = []
result = 0
for m in count_list:
    if m == 1:
        result += 1
        result_list.append(result)
        
    else :
        result = 0
        result_list.append(result)
        
print(max(result_list))

Buggy submission (verdict: Runtime Error):
n = int(input())
h_list = list(map(int,input().split()))
count_list = []
i = 0
counter = 0
for i in range(n-1):
    if h_list[i] >= h_list[i + 1]:
       count_list.append(1)
    else :
       count_list.append(0)
result_list = []
result = 0
for m in count_list:
    if m == 1:
        result += 1
        result_list.append(result)
        
    else :
        result = 0
        result_list.append(result)
        
print(max(result_list))

Buggy submission (verdict: Runtime Error):
n = int(input())
h_list = list(map(int,input().split()))
count_list = []
i = 0
counter = 0
for i in range(n-1):
    if h_list[i] >= h_list[i + 1]:
       count_list.append(1)
    else :
       count_list.append(0)
result_list = []
result = 0
for m in count_list:
    if m == 1:
        result += 1
        result_list.append(result)
        
    else :
        result = 0
        result_list.append(result)
        
print(max(result_list))
Problem p02928 (python)

Fixed submission:
n,k = map(int,input().split())
a_list = list(map(int,input().split()))
a_list_2 = a_list + a_list
first_count = 0
p = 10**9 + 7
for i in range(n-1):
  for j in range(i+1,n):
     if  a_list[j] < a_list[i]:
      first_count += 1
second_count = 0    
for a in a_list:
  for i in range(n):
    if a > a_list[i]:
      second_count += 1
ans = first_count * k  +  (k-1) * k * second_count //2
print(ans % p)

Buggy submission (verdict: Runtime Error):
n,k = map(int,input().split())
a_list = list(map(int,input().split()))
a_list_2 = a_list + a_list
first_count = 0
p = 10** + 7
for i in range(1,n):
  if  a_list[i] < a_list[i-1]:
    first_count += 1
second_count = 0    
for a in range(1,2*n):
  if a_list[a] < a_list[a-1]:
    secount_count += 1
ans = first_count * k  + 1//2 * (k-1) * k * second_count
print(int(ans) % p)
Problem p02946 (python)

Fixed submission:
k,x = map(int,input().split())
result = []
for i in range(x-k+1, x+k):
  result.append(i)
for s in result:
  print(s, end =" ")

Buggy submission (verdict: Runtime Error):
k,x = map(int,input().solit())
result = []
for i in range(x-k+1, x+k-1):
  result.append(i)
for s in result:
  print(s, end =" ")

Buggy submission (verdict: Runtime Error):
k = int(input())
x = int(input())
result = []
for i in range(x-k+1, x+k-1):
  result.append(i)
for s in result:
  print(u, end =" ")
Problem p03363 (python)

Fixed submission:
from itertools import accumulate
n = int(input())
a_list = list(map(int,input().split()))
cumsum = list(accumulate(a_list))
num_dict = {0:1}
for s in cumsum :
  if s in num_dict.keys():
    num_dict[s] += 1
  else:
    num_dict[s] = 1

res = 0
for val in num_dict.values():
  res += val * (val - 1)//2
  
print(res)

Buggy submission (verdict: Runtime Error):
from itertools import accumulate
n = int(input())
a_list = list(map(int,input.split()))
cumsum = accumulate(a_list)
num_dict = {0:1}
for s in cumsum :
  if str(s) in num_list.keys:
    num_dict[str(s)] += 1
  else:
    num_dict[str(s)] = 1

res = 0
for val in numdict:
  res += val * (val - 1)/2
  
print(res)
Problem p03470 (python)

Fixed submission:
n = int(input())
n_list =[]
for i in range(n):
  n_list.append(int(input()))
print(len(set(n_list)))

Buggy submission (verdict: Runtime Error):
n = int(input())
n_list =[]
for i in range(n+1):
  n_list.append(int(input()))
print(len(set(n_list)))

Buggy submission (verdict: Runtime Error):
n = int(input())
n_list =[]
for i in range(n+1):
  n_list.append(int(input()))
print(set(len(n_list)))
Problem p03478 (python)

Fixed submission:
n,a,b = map(int,input().split())
def ten(i):
  wa = 0
  while i != 0:
     wa += i%10
     i = i//10
  return(wa)  

result = 0
for i in range(n + 1):
  if a <= ten(i) and ten(i)<=b:
    result += i
print(result)

Buggy submission (verdict: Runtime Error):
n,a,b = map(int,input().split())
def ten(i):
  wa = 0
  while i != 0:
     wa += i%10
     i = i//10
  print(wa)  

for i in range(n + 1):
  result = 0
  if a <= ten(i) and ten(i)<=b:
    result += i
print(result)

Buggy submission (verdict: Runtime Error):
n.a,b = map(int,input().split())
def ten(i):
  wa = 0
  while i != 0:
     wa += i%10
     i = i//10
  print(wa)  

for i in range(n + 1):
  result = 0
  if a <= ten(i) and ten(i)<=b:
    result += i
print(result)
Problem p03610 (python)

Fixed submission:
s = input()
s = list(s)
s_cut = s[0::2]
ans = ""
for i in s_cut:
    ans += i
print(ans)

Buggy submission (verdict: Runtime Error):
s = inptu()
s = list(s)
s_cut = s[0::2]
ans = ""
for i in s_cut:
    ans += i
print(ans)
Problem p03693 (python)

Fixed submission:
r,g,b = map(int,input().split())
test = 100*r + 10*g + b
amari = test % 4
if amari == 0:
  print("YES")
else:
  print("NO")

Buggy submission (verdict: Runtime Error):
r,g,b = map(int(input().split()))
test = 100*r + 10*g + b
amari = test % 4
if amari == 0:
  print("YES")
else:
  print("NO")
Problem p03014 (python)

Fixed submission:
h, w = map(int, raw_input().split())
S = [[0 if c == "." else 1 for c in raw_input()] for i in range(h)]
L = [[0]*w for i in range(h)]
R = [[0]*w for i in range(h)]
U = [[0]*w for i in range(h)]
D = [[0]*w for i in range(h)]

for i in xrange(h):
    ps = 0
    for j in xrange(w):
        if S[i][j] == 1:
            ps = 0
        else:
            ps += 1
            L[i][j] = ps

for j in xrange(w):
    ps = 0
    for i in xrange(h):
        if S[i][j] == 1:
            ps = 0
        else:
            ps += 1
            U[i][j] = ps

for i in xrange(h-1, -1, -1):
    ps = 0
    for j in xrange(w-1, -1, -1):
        if S[i][j] == 1:
            ps = 0
        else:
            ps += 1
            R[i][j] = ps
for j in xrange(w-1, -1, -1):
    ps = 0
    for i in xrange(h-1, -1, -1):
        if S[i][j] == 1:
            ps = 0
        else:
            ps += 1
            D[i][j] = ps
maxLight = 0
for i in xrange(h):
    for j in xrange(w):
        maxLight = max(maxLight, L[i][j] + R[i][j] + U[i][j] + D[i][j] - 3)
print maxLight

Buggy submission (verdict: Runtime Error):
h, w = map(int, raw_input().split())
S = [raw_input() for i in range(h)]
Gh = [[0]*w for i in range(h)]
Gw = [[0]*w for i in range(w)]

for i in range(h):
    ps = 0
    s = S[i]
    for j in range(w):
        if s[j] == "#":
            ps = 0
        else:
            ps += 1
            Gh[i][j] = ps

for j in range(w):
    ps = 0
    for i in range(h):
        if S[i][j] == "#":
            ps = 0
        else:
            ps += 1
            Gw[i][j] = ps

for i in range(h-1, -1, -1):
    ps = 0
    for j in range(w-1, -1, -1):
        if S[i][j] == "#":
            ps = 0
        else:
            ps = max(ps, Gh[i][j])
            Gh[i][j] = ps
for j in range(w-1, -1, -1):
    ps = 0
    for i in range(h-1, -1, -1):
        if S[i][j] == "#":
            ps = 0
        else:
            ps = max(ps, Gw[i][j])
            Gw[i][j] = ps
maxLight = 0
for i in range(h):
    for j in range(w):
        maxLight = max(maxLight, Gh[i][j] + Gw[i][j]-1)
print maxLight
Problem p03030 (python)

Fixed submission:
n = int(raw_input())
restaurants = []
for i in range(n):
    line = raw_input().split()
    restaurants.append((line[0], int(line[1]), i+1))
restaurants.sort(key=lambda x: (x[0], -x[1]))
for i in range(n):
    print restaurants[i][2]

Buggy submission (verdict: Runtime Error):
n = int(raw_input)
restaurants = []
for i in range(n):
    line = raw_input().split()
    restaurants.append((line[0], int(line[1]), i+1))
restaurants.sort(key=lambda x: (x[0], x[1]))
for i in range(n):
    print resutaurants[i][2]
Problem p03032 (python)

Fixed submission:
n, k = map(int, raw_input().split())
V = map(int, raw_input().split())
achievable = 0
for i in range(1, k+1):
    #print "i=" + str(i)
    for l in range(-1, i):
        if l > n :
            break
        #print "l=" + str(l)
        candid = 0
        fail = False
        kr = k - i
        subV = V[0:l+1]
        negatives = [x for x in subV if x < 0]
        #print "kr=" + str(kr)
        if l == -1:
            pass
        else:
            candid += sum(subV)
            #print subV
        for r in range(n-1, n-i+l, -1):
            if l >= r:
                fail = True
                break
            candid += V[r]
            #print V[r]
            if V[r] < 0:
                negatives.append(V[r])
        if fail:
            continue
        negatives.sort(reverse=True)
        while len(negatives) > 0 and kr > 0:
            candid -= negatives.pop()
            kr -= 1
        achievable = max(achievable, candid)
print achievable

Buggy submission (verdict: Runtime Error):
n, k = map(int, raw_input().split())
V = map(int, raw_input().split())
achievable = 0
for i in range(1, k+1):
    #print "i=" + str(i)
    for l in range(-1, i):
        #print "l=" + str(l)
        candid = 0
        kr = k - i
        subV = V[0:l+1]
        negatives = [x for x in subV if x < 0]
        #print "kr=" + str(kr)
        if l == -1:
            pass
        else:
            candid += sum(subV)
            #print subV
        for r in range(n-1, n-i+l, -1):
            if l >= r:
                break
            candid += V[r]
            #print V[r]
            if V[r] < 0:
                negatives.append(V[r])
        negatives.sort(reverse=True)
        while len(negatives) > 0 and kr > 0:
            candid -= negatives.pop()
            kr -= 1
        achievable = max(achievable, candid)
print achievablen, k = map(int, raw_input().split())
V = map(int, raw_input().split())
achievable = 0
for i in range(1, k+1):
    #print "i=" + str(i)
    for l in range(-1, i):
        #print "l=" + str(l)
        candid = 0
        kr = k - i
        subV = V[0:l+1]
        negatives = [x for x in subV if x < 0]
        #print "kr=" + str(kr)
        if l == -1:
            pass
        else:
            candid += sum(subV)
            #print subV
        for r in range(n-1, n-i+l, -1):
            if l >= r:
                break
            candid += V[r]
            #print V[r]
            if V[r] < 0:
                negatives.append(V[r])
        negatives.sort(reverse=True)
        while len(negatives) > 0 and kr > 0:
            candid -= negatives.pop()
            kr -= 1
        achievable = max(achievable, candid)
print achievable