Пусть есть процедура, которая умеет сдвигать массив влево на 1 элемент, начиная с указанного символа (устанавливая последний элемент равным нулю):
▶
?
1
2
3
4
5
6
7
8
9
type newArr = array [1..5] of integer;
procedure shiftArr(var promArr: newArr; k:integer);
var j:integer;
begin
for j:=k to 4 do
promArr[j]:=promArr[j+1];
promArr[high(promArr)]:=0;
end;
Тут на видео применяется другой эффект (назнавания могут меняться от версии к версии) Kdenlive Tutorial: How to Crop in Kdenliv: https://www.youtube.com/watch?v=IHEMhg03Z0w
корзина наполняется маркерами с какой-то скоростью в единицу времени
имеет предел наполнения
на каждый запрос оплачивается маркером из корзины
если маркеров в корзине сейчас нет, то запрос отлоняется
Плюс в том, что алгоримт довольно гибок, может создаться запас маркеров (если настройки позволяеют), что позволит пройти пики нагрузки без отклонений или хотя бы уменьшить число отклоняемых запросов.
Дан массив длиной N
(где 10≤N
). Найти в этом массиве отрезок длиной F, такой что на нем встречаются все числа от 0 до k, где 0≤k
(если отрезок такой длины F, содержащий все указанные числа, существует, в противном случае сообщите, что его не существует).
В качестве ответа (если отрезок найден) получите его начальный и конечных индекс - m
и p
( 1≤m