int sortAndScan(List<Item> items) {
items.sort(this::order);
int answer = initial();
for (Item item : items) {
answer = consume(answer, item);
}
return answer;
}
def sort_and_scan(items) -> int:
answer = initial()
for item in sorted(items, key=order):
answer = consume(answer, item)
return answer
def sortAndScan(items: Vector[Item]): Int =
var answer = initial()
for item <- items.sortBy(order) do
answer = consume(answer, item)
answer
int sortAndScan(std::vector<Item>& items) {
std::sort(items.begin(), items.end(), order);
int answer = initial();
for (const Item& item : items) {
answer = consume(answer, item);
}
return answer;
}