int greedy(List<Item> items) {
int answer = initial();
for (Item item : items) {
if (forced(item)) answer = take(answer, item);
}
return answer;
}
def greedy(items) -> int:
answer = initial()
for item in items:
if forced(item):
answer = take(answer, item)
return answer
def greedy(items: Iterable[Item]): Int =
var answer = initial()
for item <- items do
if forced(item) then answer = take(answer, item)
answer
int greedy(const std::vector<Item>& items) {
int answer = initial();
for (const Item& item : items) {
if (forced(item)) answer = take(answer, item);
}
return answer;
}