Чемпионат по устному счету Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Председатель жюри чемпионата по устному счету Иван Михайлович Минусов придумал новое
задание для участников чемпионата. Исходно на доске выписывается n целых чисел: a1, a2, . . . , an.
После этого участник должен выполнять команды двух типов:
1. Стереть i-е число с доски и записать вместо него число x. То есть, если на доске
были записаны числа a1, a2, . . . , an, то после выполнения команды числа будут равны:
a1, . . . , ai−1, x, ai+1, . . . , an.
2. Циклически сдвинуть последовательность чисел на k вправо. То есть, если на доске
были записаны числа a1, a2, . . . , an, то после выполнения команды числа будут равны:
an−k+1, an−k+2, . . . , an, a1, a2, . . . , an−k.
После выполнения каждой команды участник должен вычислить сумму всех чисел, записанных
на доске, и сообщить ее жюри. Чтобы подготовиться проверять ответы участников, членам жюри
необходимо самим вычислить требуемые суммы.
Формат входных данных
В первой строке записано целое число n — количество чисел, изначально записанных на доске
(2 6 n 6 105
).
Во второй строке через пробел записаны n целых чисел: a1, a2, . . . , an — числа, изначально выписанные на доске — (−109 6 ai 6 109
).
В третьей строке записано целое число q — количество команд, которые необходимо выполнить
(1 6 q 6 105
).
В каждой из следующих q строк записана очередная команда в следующем формате:
• 1 i x — это означает, что что участник должен заменить i-е число последовательности на
число x (1 6 i 6 n; −109 6 x 6 109
).
• 2 k — это означает, что участник должен циклически сдвинуть последовательность чисел на
k вправо (1 6 k < n).
Формат выходных данных
В качестве ответа выведите q строк, в каждой из которых записано одно целое число.
В i-й строке должна быть записана сумма чисел на доске после выполнения первых i команд.
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным