This is the question Link
Test 6
3
-525187879 0 425880698
There is a diff of 2. Can anyone look why my code is wrong?
Code
a = int(input())
def solve(t):
coins = 0
for i in range(len(t)):
if t[i]==1 or t[i] ==-1:
pass
else:
if t[i]<0:
coins+=-1 - t[i]
t[i] = -1
elif t[i]>0:
coins += t[i] - 1
t[i] = 1
else:
coins+=1
t[i] += 1
less = 0
great = 0
for i in t:
if i<0:
less+=1
else:
great+=1
# print(coins)
if less&1!=0:
#odd
coins+=2
return print(coins)
t = list(map(int, input().strip().split()))
solve(t)
your code always transform 0 to 1
where in the test case 6 it's faster to just transform 0 to -1