За олимпиадное программирование не скажу, но в большинстве литкод-стайл задач можно просто писать нормальный скала код в лоб. Потому поставить в 1-2 местах .iterator и получить нормальный перформанс
Не знаю, про сложную Олег сказал. Но нет, то, что ты описал — не сложное. Дальше не хочется писать, бессмысленный разговор, опять скалисты говноедами с юнионами окажутся в конце (спойлер).