int sweep(List<Event> events) {
events.sort(this::eventOrder);
int active = 0;
int answer = initial();
for (Event event : events) {
active += event.delta;
answer = update(answer, event, active);
}
return answer;
}
def sweep(events) -> int:
active = 0
answer = initial()
for event in sorted(events, key=event_order):
active += event.delta
answer = update(answer, event, active)
return answer
def sweep(events: Vector[Event]): Int =
var active = 0
var answer = initial()
for event <- events.sortBy(eventOrder) do
active += event.delta
answer = update(answer, event, active)
answer
int sweep(std::vector<Event> events) {
std::sort(events.begin(), events.end(), eventOrder);
int active = 0, answer = initial();
for (const Event& event : events) {
active += event.delta;
answer = update(answer, event, active);
}
return answer;
}