'''function''' <tex>\mathrm{Scheduller}():</tex>
'''int''' <tex>h[]</tex> '''vector<int>''' <tex>s[]</tex> '''for''' <tex>t = 1</tex> '''to''' <tex>n</tex>
<tex>s[t] = \varnothing</tex>
'''for''' <tex>t = 1</tex> '''to''' <tex>m + n - 1</tex> <tex>h[t] = 0</tex> '''for''' <tex>i = 1</tex> '''to''' <tex>n</tex> '''if''' <tex>d_i < m + i - 1</tex> вычислим <tex>z</tex> {{---}} количество временных интервалов <tex>t = 1 \ldots d_i</tex>, таких, что <tex>h[t] < m</tex> '''if''' <tex>z \geqslant m</tex> <tex>T_i = d_i</tex> '''else''' <tex>T_i = d_i + m - z</tex> '''else''' <tex>T_i = m + i - 1</tex> вычислим <tex>m</tex> периодов <tex>1 \leqslant t_1 < t_2 < \ldots < t_m \leqslant T_i </tex> с минимальными значениями <tex>h[t_j]</tex> '''for''' <tex>j = 1</tex> '''to''' <tex>m</tex> <tex>s[i] = s[i] \cup \{t_j - 1\}</tex> <font color=green>// ставим работу <tex>i</tex> на время <tex>[t_j - 1, t_j]</tex></font> <tex>h[t_j] = h[t_j] + 1</tex> '''return''' <tex>s</tex>
=== Асимптотика ===