def solve(self, cipher):
        tasks = cipher
        tasks.sort(key=lambda t: t[0])

        overshot = -1
        timer = 0
        for task in tasks:
            timer += task[1]
            overshot = max(overshot, timer - task[0])

        return overshot
The Put NetworkSecurityGroup operation creates/updates a network
dataset/ETHPy150Open algorhythms/HackerRankAlgorithms/Task Scheduling.py/Solution.solve--crossover with--dataset/ETHPy150Open Azure/azure-sdk-for-python/azure-mgmt-network/azure/mgmt/network/operations/network_security_groups_operations.py/NetworkSecurityGroupsOperations.create_or_update