Problem p03413 (python)

Fixed submission:
n = int(input())
a = list(map(int, input().split()))
mx = max(a)
a[a.index(mx)] = abs(mx)
evn = sum(max(0, i) for i in a[::2])
odd = sum(max(0, i) for i in a[1::2])
if mx < 0:
    print(mx)
else:
    print(max(evn, odd))
oe = int(evn < odd)
res = []
beg = 0
while beg%2!=oe or a[beg]<0:
    res.append(1)
    beg += 1
end = n-1
while end%2!=oe or a[end]<0:
    res.append(end-beg+1)
    end -= 1
while beg < end:
    if a[end-2] < 0:
        res.append(end-beg-1)
    else:
        res.append(end-beg)
    end -= 2
print(len(res))
for i in res:
    print(i)

Buggy submission (verdict: Runtime Error):
N = int(input())
a = list(map(int, input().split()))
odd = 0
even = 0
num = []
res = []

for i in range(N):
    if i%2 == 0 and a[i] > 0:even += a[i]
    if i%2 == 1 and a[i] > 0:odd += a[i]
if even >= odd:
    for i in range(N):
        if i % 2 == 0 and a[i] > 0: num.append(i)
else:
    for i in range(N):
        if i % 2 == 1 and a[i] > 0: num.append(i)

count = len(num)

ed = N-1
while ed > num[-1]:
    res.append(ed)
    ed -= 1
for i in range(count)[::-1]:
    if i > 0:
        if num[i] - num[i-1] > 2:
            for j in range(1,(num[i]-num[i-1])/2):
                res.append(num[i]-2*j)
for i in range(num[0]):
    res.append(0)
for i in range(count-1):
    res.append(1)

print(max(even,odd))
print(len(res))
print('\n'.join(map(str, res)))

Buggy submission (verdict: Runtime Error):
N = int(input())
a = list(map(int, input().split()))
odd = 0
even = 0
num = []
res = []

for i in range(N):
    if i%2 == 0 and a[i] > 0:even += a[i]
    if i%2 == 1 and a[i] > 0:odd += a[i]
if even >= odd:
    for i in range(N):
        if i % 2 == 0 and a[i] > 0: num.append(i)
else:
    for i in range(N):
        if i % 2 == 1 and a[i] > 0: num.append(i)

count = len(num)

ed = N-1
while ed > num[-1]:
    res.append(ed)
    ed -= 1
for i in range(count)[::-1]:
    if i > 0:
        if num[i] - num[i-1] > 2:
            for j in range(1,(num[i]-num[i-1])/2):
                res.append(num[i]-2*j)
for i in range(num[0]):
    res.append(0)
for i in range(count-1):
    res.append(1)

print(max(even,odd),sep='\n')
print(len(res),sep='\n')
for x in res:
    print(x,sep='\n')

Buggy submission (verdict: Runtime Error):
N = int(input())
a = list(map(int, input().split()))
odd = 0
even = 0
num = []
res = []

for i in range(N):
    if i%2 == 0 and a[i] > 0:even += a[i]
    if i%2 == 1 and a[i] > 0:odd += a[i]
if even >= odd:
    for i in range(N):
        if i % 2 == 0 and a[i] > 0: num.append(i)
else:
    for i in range(N):
        if i % 2 == 1 and a[i] > 0: num.append(i)

count = len(num)

ed = N-1
while ed > num[-1]:
    res.append(ed)
    ed -= 1
for i in range(count)[::-1]:
    if i > 0:
        if num[i] - num[i-1] > 2:
            for j in range(1,(num[i]-num[i-1])/2):
                res.append(num[i]-2*j)
for i in range(num[0]):
    res.append(0)
for i in range(count-1):
    res.append(1)

print(max(even,odd))
print(len(res))
for x in res:
    print(x)

Buggy submission (verdict: Runtime Error):
N = int(input())
a = list(map(int, input().split()))
odd = 0
even = 0
num = []
res = []

for i in range(N):
    if i%2 == 0 and a[i] > 0:even += a[i]
    if i%2 == 1 and a[i] > 0:odd += a[i]
if even >= odd:
    for i in range(N):
        if i % 2 == 0 and a[i] > 0: num.append(i)
else:
    for i in range(N):
        if i % 2 == 1 and a[i] > 0: num.append(i)

count = len(num)

ed = N
while ed > num[-1]:
    res.append(ed)
    ed -= 1
for i in range(count)[::-1]:
    if i > 0:
        if num[i] - num[i-1] > 2:
            for j in range(1,(num[i]-num[i-1])/2):
                res.append(num[i]-2*j)
for i in range(num[0]):
    res.append(0)
for i in range(count-1):
    res.append(1)

print(max(even,odd))
print(len(res))
for x in res:
    print(x)