Проблема в том, что вы читаете входные данные и обрабатываете их одновременно. Таким образом, в некоторых тестовых случаях может возникнуть ситуация, когда e<=0
, но у вас еще есть x0 x1
для чтения (т.е. i<n-1
). В таких случаях вы будете break
l oop, потому что e<=0
и на следующей итерации while
l oop вы попытаетесь прочитать 5 значений n,h,y1,y2,e = list(map(int, input().split()))
, но получите только 2 значения x0 x1
и, следовательно, он выдаст ValueError: not enough values to unpack (expected 5, got 2)
и, следовательно, он не пройдет все тестовые случаи.
Чтобы исправить это, просто сначала возьмите все входные данные, а затем обработайте их в соответствии с текущими логиками. c.
t=int(input())
while t>0 :
c=0
n,h,y1,y2,e = list(map(int, input().split()))
inputs = []
for i in range(n):
inputs.append(list(map(int, input().split())))
for inp in inputs:
x0,x1 = inp
if x0==1 :
if x1 < h-y1:
e -= 1
else :
if y2 < x1 :
e -= 1
if e>0 :
c+=1
else :
break
print(c)
t -= 1