Контест Junior Массивы изнутри обновлено

Пагинация с многоточием

Условие

Постройте навигацию по страницам.

Ввод: total perPage page (0 ≤ total ≤ 10⁹, 1 ≤ perPage ≤ 1000, page может быть любым целым).

Вывод: три строки:

  1. page P of N, где N = ⌈total / perPage⌉, но не меньше 1; страница P это page, зажатая в диапазон 1..N;
  2. items A-B (номера элементов на странице, с 1) или items none, если элементов нет;
  3. навигация: номера от P-2 до P+2 (в пределах 1..N), текущая в квадратных скобках; если первая показанная больше 1, в начале 1, а если между ними есть пропуск, ещё ...; аналогично в конце с N.

Пример

95 10 5
page 5 of 10
items 41-50
1 ... 3 4 [5] 6 7 ... 10

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.