Here is other approach using arrays. I used the stairs as Evenly segment.
Anyway, the result is not completely correct, because the outer rows should have more seats. You can fix it setting the array on "Free" mode, but in this case some seats would be sliced, if they don't fit in the spline.