In [97]:
import datetime
import pprint as pp

def time_translator(lines):
    line_list = []
    for sequence in lines:
        sequence = sequence[sequence.index("“")+1: sequence.index("”")].split(" ")
        sequence_time = datetime.datetime.strptime(sequence[0]+" "+sequence[1],'%Y-%m-%d %H:%M:%S.%f')
        line_list.append(sequence_time)
    return line_list

def traffic_time(lines):
    traffic_list = []
    for sequence in lines:
        sequence = sequence[sequence.index("“")+1: sequence.index("”")].split(" ")
        sequence = float(sequence[2].replace("s",""))
        sequence = [datetime.timedelta(seconds = sequence-0.001),datetime.timedelta(seconds = 1)]
        traffic_list.append(sequence)
    return traffic_list

def solution(line_list, traffic_list):
    count = [] 
    
    for i in range(len(line_list)):
        max_time = []
        max_time.append(line_list[i])
        for j in range(len(line_list)):
            if line_list[j]-traffic_list[j][0] < line_list[i] + traffic_list[j][1] < line_list[j] : 
                max_time.sort()
                max_time.append(line_list[j]-traffic_list[j][0])
            elif  line_list[j]-traffic_list[j][0] < line_list[i] - traffic_list[i][0] < line_list[j]:
                max_time.sort()
                max_time.append(line_list[j])
            else:
                pass
        try:
            while max(max_time) - min(max_time) > traffic_list[0][1]:
                if len(max_time) == 1:
                    break
                elif max_time[max_time.index(max(max_time))-1] - min(max_time)  <= traffic_list[0][1]:
                    max_time.remove(max(max_time))
                elif max(max_time) - max_time[max_time.index(min(max_time))+1] <= traffic_list[0][1]: 
                    max_time.remove(min(max_time))
                else:
                    pass
            count.append(len(max_time))
        except:
            ValueError
    return max(count)


def main():
    lines = input().split(",")
    traffic_list = traffic_time(lines)
    line_list = time_translator(lines)
    return solution(line_list,traffic_list)

In [81]:
print(main())


“2016-09-15 01:00:04.001 2.0s”, “2016-09-15 01:00:07.000 2s” ]
1

In [82]:
print(main())


“2016-09-15 01:00:04.002 2.0s”, “2016-09-15 01:00:07.000 2s” ]
2

In [98]:
print(main())


[ “2016-09-15 20:59:57.421 0.351s”, “2016-09-15 20:59:58.233 1.181s”, “2016-09-15 20:59:58.299 0.8s”, “2016-09-15 20:59:58.688 1.041s”, “2016-09-15 20:59:59.591 1.412s”, “2016-09-15 21:00:00.464 1.466s”, “2016-09-15 21:00:00.741 1.581s”, “2016-09-15 21:00:00.748 2.31s”, “2016-09-15 21:00:00.966 0.381s”, “2016-09-15 21:00:02.066 2.62s” ]
6

In [ ]: