Оскільки заброньовані місця є послідовними, нам потрібно лише визначити номер ряду для першого місця та номер ряду для останнього місця. Усі ряди між ними будуть повністю або частково зайняті.
Перше місце — це .
Останнє місце — це s + n - 1.
Щоб знайти номер ряду для будь-якого місця (нумерація рядів починається з ), потрібно поділити на кількість місць у ряду і округлити вгору: \lceil \frac{x}{m} \rceil.
У C++ та інших мовах цю функцію стелі можна безпечно обчислити за допомогою цілочисельного ділення, щоб уникнути похибок з плаваючою комою:
Нехай R_{first} = \text{Row}(s) і R_{last} = \text{Row}(s + n - 1). Загальна кількість різних рядів, які займе компанія Фаді, дорівнює:
Часова складність: на кожен набір вхідних даних.
Просторова складність: .