Codeforces Round 555 (Div. 3) |
---|
Закончено |
Вам дано длинное десятичное число $$$a$$$, состоящее из $$$n$$$ цифр от $$$1$$$ до $$$9$$$. Также мы определили функцию $$$f$$$, которая отображает каждую цифру от $$$1$$$ до $$$9$$$ в какую-то (возможно, ту же самую) цифру от $$$1$$$ до $$$9$$$.
Вы можете применить следующую операцию не более одного раза: выбрать непустой непрерывный подотрезок цифр из $$$a$$$, и заменить каждую цифру $$$x$$$ из этого подотрезка на $$$f(x)$$$. Например, если $$$a = 1337$$$, $$$f(1) = 1$$$, $$$f(3) = 5$$$, $$$f(7) = 3$$$, и вы замените подотрезок из трех последних цифр, результатом будет число $$$1553$$$.
Какое максимальное число вы можете получить, если примените эту операцию не более одного раза?
В первой строке записано одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — количество цифр в $$$a$$$.
Во второй строке записана последовательность из $$$n$$$ символов — число $$$a$$$. Каждый символ — это цифра от $$$1$$$ до $$$9$$$.
В третьей строке заданы ровно $$$9$$$ целых чисел $$$f(1)$$$, $$$f(2)$$$, ..., $$$f(9)$$$ ($$$1 \le f(i) \le 9$$$).
Выведите максимальное число, которое вы можете получить, применив операцию, описанную в условии, не более одного раза.
4 1337 1 2 5 4 6 6 3 1 9
1557
5 11111 9 8 7 6 5 4 3 2 1
99999
2 33 1 1 1 1 1 1 1 1 1
33
Название |
---|