eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Минимум в очереди

Минимум в очереди

На вход программы подается набор операций с очередью. Каждая операция состоит в добавлении или удаления элемента из очереди. После выполнения каждой операции найдите наименьшее число, которое находится в очереди. Сложите все полученные числа и получите ответ. Если после некоторой операции очередь оказалась пуста, то ничего не прибавляйте к ответу. Если выполнить удаление невозможно, так как очередь пуста, то не выполняйте его. \InputFile Входные данные генерируются в самой программе. На вход подаются параметры для генерации входной последовательности. Первое число $n~(1 \le n \le 10^6)$ содержит количество операций с очередью. Затем идут четыре неотрицательных числа $a, b, c, x_0$, не превосходящие $10000$. Для получения входных данных сгенерируем последовательность $x$. Первое число в генерируемой последовательности $x_1$. Первое, а также каждое следующее число вычисляется из предыдущего по формуле: $$ x_i = (a \cdot x_{i-1} \cdot x_{i-1} + b \cdot x_{i-1} + c) / 100~mod~10^6, $$ где "/" --- операция целочисленного деления, а "\textbf{mod}" --- остаток от деления. Если $x_i~mod~5 < 2$, то необходимо удалить число из очереди. В противном случае нужно добавить в очередь число $x_i$. \OutputFile Выведите искомую сумму.
Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
2 0 0 1 81
Выходные данные #1
0
Входные данные #5
7 2 1 176 36
Выходные данные #5
60
Входные данные #7
9 5 6 777 30
Выходные данные #7
2165995
Автор В.Гольдштейн
Источник Зимние сборы в Харькове 2010 День 2