slice関数を使った回答が一番簡単な問題です。
def slice[T](start: Int, end: Int, l: List[T]): List[T] = l.slice(start, end)