Нужно создать программу на с++, или java
есть оперативная память на 1 000 000 (миллион) свободных элементов.
в оперативную память поступает задание которое занимает 1 элемент оперативной памяти.
то есть после поступления 1 задания оперативная память стала 999 999 свободного.
задания поступают с очередностью 3-7 мин. время должно генерироваться рандомно с 3 до 7.
задание становится в очередь к первому процессору. если 1 процессор свободный, то задание обрабатывается им 4-6 мин. время задается рандомно от 4 до 6.
после выполнения задания первым процессором, задание увеличивается на 1 и возвращается в оперативную память. занимает уже 2 элемента памяти.
задание становится в очередь к 2 процессору. если процессор свободный, то задание обрабатывается им 2-3 мин на каждый элемент. элементов уже 2. время задается рандомно от 2 до 3.
после выполнения задания вторым процессором, задание увеличивается на 1 и возвращается в оперативную память. занимает уже 3 элемента памяти.
задание становится в очередь к 3 процессору. если процессор свободный, то задание обрабатывается им 1.1-1.9 мин на каждый элемент. элементов уже 3. время задается рандомно от 1.1 до 1.9.
после выполнения задания третьим процессором задание покидает систему и освобождает память. 3 элемента возвращаются в систему.
задания будут приходить каждые 3-7 минут. если процессор свободный, то он начинает обрабатывать задание. если занят, то задание ждет в очереди, тем самым занимая память. очередь может быть большая, нет ограничений в задании. процессор может обрабатывать только одно задание за раз.
пример:
в очереди к 1 процессору 3 задания, к 2 процессору 1 задание, к 3 процессору 1 задание. все процессоры работают.
занятость оперативной памяти: 1*3(задания в очереди к 1 процессору) + 1(задание в 1 процессоре) + 1*2 (задание к 2 процессору(задание занимает 2 элемента памяти))+2(задание в 2 процессоре) + 1*3(задание к 3 процессору(задание занимает 3 элемента памяти))+ 3(задание в 3 процессоре) = 14 элементов памяти занимают задания.
Свободной памяти 1000000 – 14 = 999986
время условное и никак не зависит от времени компьютера.
нужно найти сколько в среднем занято памяти и вывести значение на экран.
сколько будет работать программа по времени задает пользователь.