81
правка
Изменения
→Разбиение на блоки
'''Block[]''' blocks('''int''' p[n], '''int''' rm[n]):
'''int''' j = 0
'''int''' t = 0<font color="darkgreen">// Переменная t указывает на время завершения последней работы </font>
'''Block''' b[n]
'''for''' i = 1 '''to''' n
'''if''' t < rrm[i] <font color="darkgreen">// Время появления очередной работы больше, чем время завершения последней </font> t = rm[i] <font color="darkgreen">// работы в блоке, не успеваем её сделать. Создаём новый блок. </font>
j = j + 1
b[j].start = rm[i]
b[j].time = 0
b[j].add(i) <font color="darkgreen">// Добавляем к последнему блоку рассматриваемую работу, </font> b[j].time = b[j].time + p[i]<font color="darkgreen">// увеличиваем суммарное время внутри блока и текущее время</font>
t = t + p[i]
'''return''' b