Untitled
unknown
plain_text
a year ago
1.3 kB
5
Indexable
def decreaseAndReturn2(clients, timeTillNow): print("input", clients, timeTillNow) response = [] minTime = min(clients) extrTimeSpent = len(clients) * ((minTime)-1) timeTillNow = timeTillNow + extrTimeSpent completingTime = 0 for clientIndx in range(len(clients)): if clients[clientIndx] - minTime > 0: response.append(clients[clientIndx] - minTime) elif clients[clientIndx] - minTime == 0: completingTime += timeTillNow + clientIndx + 1 print("Response", response, completingTime, timeTillNow + len(clients)) return response, completingTime, timeTillNow + len(clients) def totalTimeForClients(clients): clientTimes = 0 timeTillNow = 0 currentClients = clients while currentClients: currentClients, totalTime, timeTillNow = process_items(currentClients, timeTillNow) clientTimes += totalTime return clientTimes % 1000000000 def process_items(clients, timeTillNow): new_clients = [] completingTime = 0 for client_index, time_needed in enumerate(clients): if time_needed > 1: new_clients.append(time_needed - 1) else: completingTime += timeTillNow + 1 timeTillNow += 1 return new_clients, completingTime, timeTillNow print(totalTimeForClients([10000]))
Editor is loading...
Leave a Comment