Logic, Loops
In this challenge, you will find the window of time when the most authors were active.
You have biographic data like this:
Name  | 
Start  | 
End  | 
|---|---|---|
Alice  | 
1901  | 
1950  | 
Bob  | 
1920  | 
1960  | 
Carol  | 
1908  | 
1945  | 
Dave  | 
1951  | 
1960  | 
All authors become active on or after the year 1900. All stopped being active on or before 1999.
For this data, there is one period, 1920-1945, where there were three authors active (Alice, Bob, and Carol). Therefore, this is the range you want to find.
You should write a function, most_active, which takes biographical data and returns a tuple of (window-start, window-end), like this:
>>> data = [
...    ('Alice', 1901, 1950),
...    ('Bob',   1920, 1960),
...    ('Carol', 1908, 1945),
...    ('Dave',  1951, 1960),
... ]
>>> most_active(data)
(1920, 1945)
If there’s more than one period with the same number of active authors, find the earliest:
>>> data = [
...    ('Alice', 1901, 1950),
...    ('Bob',   1920, 1960),
...    ('Carol', 1908, 1945),
...    ('Dave',  1951, 1960),
...    ('Eve',   1955, 1985),
... ]
>>> most_active(data)
(1920, 1945)
(Alice, Bob, Carol were active 1920-1945. Bob, Dave, and Eve were active 1951-1960. Since there’s a tie, the first was returned)
Your program should run in linear O(n) time.
We’ve given you a function, most_active. Implement it:
def most_active(bio_data):
    """Find window of time when most authors were active."""