Codeforces Round 927 (Div. 3) |
---|
Закончено |
Вам задан массив $$$a$$$ длины $$$n$$$, положительное целое число $$$m$$$ и строка команд из $$$n$$$ символов. Каждая команда — это либо символ 'L', либо символ 'R'.
Обработайте все $$$n$$$ команд в порядке их записи в строке $$$s$$$. Обработка команды производится следующим образом:
Обратите внимание, что после каждого хода длина массива $$$a$$$ уменьшается на $$$1$$$ и после обработки всех команд он окажется пустым.
Напишите программу, которая совершит обработку всех команд в порядке из записи в строке $$$s$$$ (слева направо).
В первой строке записано целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных в тесте. Далее следуют описания $$$t$$$ наборов входных данных.
Каждый набор входных данных задаётся тремя строками.
Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le 2\cdot10^5, 1 \le m \le 10^4$$$) — начальная длина массива $$$a$$$ и значение, по которому надо брать остаток.
Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 10^4$$$) — элементы массива $$$a$$$.
Третья строка состоит из $$$n$$$ букв 'L' и 'R' — строка команд $$$s$$$.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных теста не превосходит $$$2\cdot10^5$$$.
Для каждого набора входных данных выведите $$$n$$$ целых чисел $$$b_1, b_2, \dots, b_n$$$, где $$$b_i$$$ — остаток при делении произведения всех элементов текущего состояния массива $$$a$$$ на $$$m$$$ в начале выполнения $$$i$$$-й команды.
44 63 1 4 2LRRL5 11 1 1 1 1LLLLL6 81 2 3 4 5 6RLLLRR1 1000010000R
0 2 4 1 0 0 0 0 0 0 0 0 4 4 4 0
В первом наборе входных данных примера:
Название |
---|