Codeforces Round 493 (Div. 1) |
---|
Закончено |
Вам дана строка $$$a_1, a_2, \dots, a_n$$$, состоящая из нулей и единиц.
Назовем последовательность подряд идущих элементов $$$a_i, a_{i + 1}, \ldots, a_j$$$ ($$$1\leq i\leq j\leq n$$$) подстрокой строки $$$a$$$.
К строке можно неограниченное количество раз последовательно применять следующие операции:
Вы можете применять операции в любом порядке. Допустимо к одной и той же подстроке применять любую или обе операции неоднократно.
Какое минимальное количество монет потребуется потратить, чтобы получить строку, состоящую только из единиц?
В первой строке записаны целые числа $$$n$$$, $$$x$$$ и $$$y$$$ ($$$1 \leq n \leq 300\,000, 0 \leq x, y \leq 10^9$$$) — длина строки, стоимость первой операции (разворота подотрезка) и стоимость второй операции (инвертирования всех элементов некоторого подотрезка) соответственно.
Во второй строке записана строка $$$a$$$ длины $$$n$$$, состоящая из нулей и единиц.
Выведите единственное целое число — минимальную суммарную стоимость изменений, необходимых для получения строки, состоящей только из единиц. Выведите $$$0$$$, если не требуется совершать никаких изменений.
5 1 10
01000
11
5 10 1
01000
2
7 2 3
1111111
0
В первом примере нужно сначала перевернуть подстроку $$$[1 \dots 2]$$$, а затем инвертировать подстроку $$$[2 \dots 5]$$$.
Тогда строка изменялась так:
«01000» $$$\to$$$ «10000» $$$\to$$$ «11111».
И затраченная стоимость соответственно равна $$$1 + 10 = 11$$$.
Во втором примере нужно сначала инвертировать подстроку $$$[1 \dots 1]$$$, а затем инвертировать подстроку $$$[3 \dots 5]$$$.
Тогда строка изменялась так:
«01000» $$$\to$$$ «11000» $$$\to$$$ «11111».
И затраченная стоимость соответственно равна $$$1 + 1 = 2$$$.
В третьем примере строка уже состоит только из единиц, поэтому ответ $$$0$$$.
Название |
---|