Cook-off bulbs

with given below test case, my code’s output is 3 but still I am getting wrong answer
1
9 2
001000100

from queue import PriorityQueue
t = int(input())

def disc(pq1, pq2, k, t1, t2):
# print(" >>> function call ", pq1.qsize(), pq2.qsize(), t1, t2)
deac, temp2 = 0, []
while k > 0 and (t1 != 0 or t2 != 0):
# print(t1, t2, k)
if t1 >= t2:
k -= 1
t1 -= -1pq1.get()
else:
if k - 2 >= 0:
k -= 2
t2 -= -1
pq2.get()
else:
temp = -1pq2.get()
temp2.append(temp)
t2 -= temp
# print(" >>> after size", pq1.qsize(), pq2.qsize(), len(temp2))
while not pq1.empty():
deac += -1
pq1.get()
while not pq2.empty():
deac += -1*pq2.get()
while len(temp2) != 0:
deac += temp2.pop()
return deac

for _ in range(t):
n, k = list(map(int, input().strip().split()))
s = str(input())
pq1 = PriorityQueue()
pq2 = PriorityQueue()
pq1_total, pq2_total, flag, zeros = 0, 0, 0, 0
for i in range(len(s)):
# print(flag, zeros, s[i])
if s[i] == ‘1’ and not flag:
flag = 1
pq1.put(-zeros)
pq1_total += zeros
zeros = 0
elif s[i] == ‘1’ and flag:
pq2.put(-zeros)
pq2_total += zeros
zeros = 0
else:
zeros += 1
if flag and zeros > 0:
pq1.put(-zeros)
pq1_total += zeros
zeros = 0
print(disc(pq1, pq2, k, pq1_total, pq2_total))`

Please help!