Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # your code goes here
- import sys
- with open("inp.inp", "r") as f:
- data = f.readlines()[1:]
- times = [[index] + list(map(float, item.split() for index, item in enumerate(data[:-1])))]
- h, t = data[-1].split()[0], data[-1].split()[1]
- sort(times(key = lambda x: x[1]))
- # track: [max_count, finished time, last meeting]
- track = [[-1, 0, 0] for i in range(len(times))]
- track[0] = [0, times[0][1], 0]
- for index, value in enumerate(times):
- for j in range(index + 1, len(times)):
- if (value[1] + h + t < times[j][2]):
- if track[index][0] + 1 > track[j][0]:
- track[j][0] = track[index][0] + 1
- track[j][1] = value[1] + h + t
- track[j][2] = index
- max_value = -sys.size()
- result_index = 0
- for index, value in enumerate(track):
- if value[0] > max_value:
- max_value = item[0]
- result_index = index
- print(max_value)
- while result_index != -1:
- print(times[result_index][0], times[result_index][1])
- result_index = track[result_index][2]
Add Comment
Please, Sign In to add comment