мы каждому элементу списка ставим в соответствие List[Int], получаем List[List[Int]], а получить из него мы хотим List[Int] так что флатмап напрашивается естественно. Ну а то что элемент нужно повторить n раз у вас вроде в задаче написано прямо, стоит просто посмотреть какая библиотечная функция умеет это делать