type MyRO = MyReadonly2<Todo, 'title' | 'description'>;
type MyRO = {
title: string;
description: string;
completed: boolean;
} & {
readonly title: string;
readonly description: string;
}
...
const i = setInterval(() => {
const savedIndex = index;
setChildren(array => [...array, props.children[savedIndex]])
index++
if (index === props.children.length)
clearInterval(i)
}, props.delay)
...
ведь этот store вообще не используется, а служит как некий слушатель любых диспатчей
queue<int> ends; // очередь окончаний
int startTime = 0; // возможный старт
for (int i = 0; i < numPackets; i++) {
int arrival, duration;
cin >> arrival >> duration;
// выясняем, когда на самом деле можно стартовать пакет
int realStart = max(startTime, arrival);
// Извлекаем из очереди пакеты, которые обработаны на момент старта
while (!ends.empty() && ends.front() <= arrival) {
ends.pop();
}
if (ends.size() < bufferSize) {
// если на момент старта есть места в очереди, стартуем
cout << realStart << endl;
startTime = realStart + duration; // окончание обработки
ends.push(startTime);
} else {
// Очередь полна, пакет не может быть обработан
cout << -1 << endl;
}
}
Т.е., если в массиве 4 элемента, то элемент на 4 позиции перемещать на 1 позицию, а элементы на 1, 2 и 3 позиции перемещать на 2, 3 и 4 позиции соответственно.