12143. Кольоровий зсув


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Вам надається рядок \(S\) довжиною \(N\), що складається з малих літер англійського алфавіту. Кожен символ \(S\) пофарбовано в один із \(M\) кольорів: колір 1, колір 2, ..., колір \(M\); для кожного \(i=1,2,…,N\) \(i\)-й символ \(S\) фарбується кольором \(C_i\) ​.

Для кожного \(i=1,2,…,M\) у цьому порядку виконаємо наступну операцію.

  • Виконайте круговий зсув вправо на 1 на частині \(S\), пофарбованій кольором \(i\). Тобто, якщо \(p_1, p_2, p_3, …, p_k\) ​ символи зафарбовані кольором \(i\), то одночасно замінити \(p_1, p_2, p_3, …, p_k\) символи \(S\) на \(p_k, p_1, p_2, …, p_{k−1} ​ символи з \)S~ відповідно.

Виведіть кінцеву \(S\) після наведених вище операцій. Обмеження гарантують, що принаймні один символ \(S\) буде пофарбовано в кожен із \(M\) кольорів.

Обмеження

  • \(1≤M≤N≤2×10^5\)
  • \(1≤C_i ​ ≤M\)
  • \(N\), \(M\) і \(C_i\) ​ — цілі числа.
  • \(S\) — рядок довжиною \(N\), що складається з малих літер англійського алфавіту.
  • Для кожного цілого числа \(1≤i≤M\) існує таке ціле число \(1≤j≤N\), що \(C_j ​ =i\).

Формат вхідних даних

Перший рядок містить цілі числа \(N,M\).

Другий рядок містить \(S\).

Наступний   рядок містить цілі числа \(C_i\).

Формат вихідних даних

У вихідний потік виведіть відповідь.

Приклад вхідних даних

8 3
apzbqrcs
1 2 3 1 2 2 1 2

Приклад вихідних даних

cszapqbr

Спочатку \(S= apzbqrcs\).

  • Для \(i=1\) виконайте круговий зсув праворуч на 1 на частині \(S\), утвореній 1-м, 4-м, 7-м символами, в результаті чого \(S= cpzaqrbs\).
  • Для \(i=2\) виконайте круговий зсув праворуч на 1 на частині \(S\), утвореній 2-м, 5-м, 6-м, 8-м символами, в результаті чого \(S= cszapqbr\).
  • Для \(i=3\) виконайте круговий зсув праворуч на 1 на частині \(S\), утвореній 3-м символом, в результаті чого \(S= cszapqbr\) (тут \(S\) не змінюється).

Таким чином, ви повинні вивести \(cszapqbr\).

Приклад вхідних даних

2 1
aa
1 1

Приклад вихідних даних

aa

Коментарі

Ще немає коментарів.