Не получается решить задачу, что я тут не учел, код проходит открытые тесты, но не может пройти закрытые

Условие: Петя решил узнать, когда программисту выгоднее всего искать работу на hh.ru. Конечно, когда больше всего открыто вакансий.

Он выгрузил в текстовый файл время открытия и закрытия всех подходящих вакансий за 2019 год.

Теперь нужно определить период времени, когда открытых вакансий было больше всего.

Считаем, что:

  • начальное и конечное время всегда присутствуют;
  • начальное время всегда меньше или равно конечному;
  • начальное и конечное время включены в интервал.

Входные данные Входная информация поступает из стандартного ввода, в первой строке приходит 1 число - количество вакансий. Каждая из следующих строк содержит информацию о вакансии в виде двух чисел – начальное и конечное время, они разделены пробелом. Время задается в секундах (https://ru.wikipedia.org/wiki/Unix-время). Некорректные данные на вход не поступают, дополнительные проверки не требуются.

Выходные данные В качестве ответа в стандартный вывод через пробел нужно вывести два числа: количество найденных интервалов и сумму длительности интервалов в секундах (начальная и конечная секунды должны быть включены в интервал).

def count_intervals(intervals):
    
    list_to_check = []
    for interval in intervals:
        list_to_check.append([interval[0],1])
        list_to_check.append([interval[1],-1])
    list_to_check.sort()
    
    count_interval = 0
    
    job_count = 0
    job_count_was = 0
    start_interval = False
    
    sum_duration = 0
    
    for i, interval in enumerate(list_to_check):
        
        job_count_was = job_count
        job_count += interval[1]
        
        if start_interval == True and job_count < job_count_was:
            sum_duration += interval[0] - list_to_check[i-1][0] + 1
            count_interval += 1
            start_interval = False
        elif job_count > job_count_was:
            start_interval = True
            
    return [count_interval , sum_duration]
    
      
input_intervals = int(input())
intervals = []
while input_intervals > 0:
    input_intervals -= 1
    interval_start, interval_end = input().split()
    interval_start = int(interval_start)
    interval_end = int(interval_end)
    intervals.append([interval_start, interval_end])


resault_intervals = count_intervals(intervals)

print(resault_intervals[0], resault_intervals[1])

Не получается решить задачу, что я тут не учел, код проходит открытые тесты, но не может пройти закрытые


Ответы (0 шт):