Изменения

Перейти к: навигация, поиск

1sumu

13 байт добавлено, 21:33, 27 мая 2016
Алгоритм
Будем добавлять в <tex>S</tex> работы в порядке неубывания значений <tex>d_j</tex>. Если вновь добавленная работа не успевает выполниться до дедлайна, то найдём и удалим из <tex>S</tex> работу с самым большим временем выполнения.
<span style="color:Green">// Отсортировать работы так, чтобы <tex>d_1 \leqslant d_2 \leqslant \dots \leqslant d_n</tex>;</span>
<tex>S \leftarrow \varnothing</tex>;
<tex>time \leftarrow 0</tex>;
<tex>FOR</tex> <tex>'''for''' i := 1\dots '''to''' n</tex> <tex>DO</tex>'''do'''
<tex>S \leftarrow S \cup \{ i \}</tex>;
<tex>time</tex> <code>+=</code> <tex>p_i</tex>;
<tex>IF</tex> '''if''' <tex>t > d_i</tex>
находим в <tex>S</tex> работу <tex>j</tex> с наибольшим <tex>p_j</tex>;
<tex>S = S \setminus\{j\}</tex>;
Анонимный участник

Навигация