e-olymp
Məsələlər

Минимум в стеке

Минимум в стеке

На вход программы подается набор операций со стеком. Каждая операция состоит в добавлении или удалении элемента из стека. После выполнения каждой операции найдите наименьшее число, которое находится в стеке. Сложите все полученные числа и получите ответ. Если после некоторой операции стек оказался пуст, то ничего не прибавляйте к ответу. Если выполнить удаление невозможно, так как стек пуст, то не выполняйте его.

Входные данные

Входные данные генерируются в самой программе. На вход подаются параметры для генерации входной последовательности.

Первое число содержит количество операций n (1n106) со стеком. Затем следуют четыре неотрицательных целых числа a, b, c, x0 не превосходящие 10000.

Для получения входных данных сгенерируем последовательность x.

Первое число в генерируемой последовательности x1. Каждое следующее число вычисляется из предыдущего по формуле:

xi = (a·x2i-1 + b·xi-1 + c) / 100 mod 106,

где '/' - операция целочисленного деления, а 'mod' - остаток от деления.

Если xi mod 5 < 2, то необходимо удалить число из стека. В противном случае необходимо добавить в стек число xi.

Выходные данные

Выведите результирующую сумму.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 122.17 MiB
Giriş verilənləri #1
2 0 0 1 81
Çıxış verilənləri #1
0
Giriş verilənləri #2
3 1 1 1 13
Çıxış verilənləri #2
0
Müəllif В.Гольдштейн
Mənbə Зимние сборы в Харькове 2010 День 2