итерируешься по строкам, считаешь интервал между i и i+500, берешь минимальный.
Ту задачку тупо решил подстановкой значений пока перестали выдаваться ошибки:
count1=0
count2=0
count3=0
count4=0
for hour in checks:
if hour in (5,6,7): # можно использовать range(5, 8)
count1+=checks[hour]
if count1>500: print(filename,"Превышен порог1!",count1)
elif hour in (8,9):
count2+=checks[hour]
if count2>500: print(filename,"Превышен порог2!",count2)
elif hour in (10,11,12):
count3+=checks[hour]
if count3>500: print(filename,"Превышен порог3!",count3)
elif hour in (13,14,15,16,17):
count4+=checks[hour]
if count4>500: print(filename,"Превышен порог4!",count4)