QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 1024 MB 満点: 100 ハック可能 ✓

#17539. Уменьшение скуки

統計

Moloco — это рекламная технологическая компания, помогающая различным компаниям по всему миру повышать эффективность онлайн-рекламы. Технологии Moloco позволяют пользователям интернета видеть более релевантную рекламу, а рекламодателям — эффективно проводить рекламные кампании.

Чонсо предсказал, что пользователь посетит домашнюю страницу в общей сложности $2N$ раз, и хочет показать пользователю два типа рекламы, 0 и 1, по $N$ раз каждый. Поскольку постоянный показ рекламы одного и того же типа при каждом посещении может привести к привыканию и снижению эффективности, он хочет максимизировать эффект от рекламы, правильно распределив два типа объявлений.

Чтобы количественно оценить эффект от рекламы, инженер Moloco Чонсо определил показатель под названием «скука». Для $i \leq j$ скука отрезка, состоящего из рекламы с $i$-й по $j$-ю, определяется как разность между количеством рекламных объявлений типа 0 и типа 1 в этом отрезке. Скука, которую в конечном итоге ощущает пользователь, — это максимальное значение скуки среди всех возможных отрезков.

Например, если реклама размещена в порядке 00110110, то скука отрезка с 3-го по 7-е объявление равна $|1 - 4| = 3$. Поскольку этот отрезок имеет наибольшую скуку, итоговая скука, ощущаемая пользователем, также равна $3$.

Хотя с помощью отличных алгоритмов Moloco удалось найти эффективное размещение рекламы для повышения вовлеченности пользователей, Чонсо хочет уменьшить скуку, чтобы проверить, насколько хорошо работает этот показатель. Однако порядок рекламы уже определен, и чтобы уменьшить скуку, необходимо потратить $1$ единицу стоимости на то, чтобы поменять местами два соседних рекламных объявления. Операцию обмена можно выполнять любое количество раз.

Какова минимальная стоимость, необходимая для того, чтобы итоговая скука, ощущаемая пользователем, стала не более $K$?

Входные данные

В первой строке через пробел заданы $N$ и $K$ ($1 \le K \le N \le 500\,000$).

Во второй строке задана строка длиной $2N$, состоящая только из $N$ символов 0 и $N$ символов 1, представляющая начальное размещение рекламы.

Выходные данные

Выведите минимальную стоимость, необходимую для того, чтобы сделать скуку не более $K$.

Если скука заданного порядка рекламы уже не превышает $K$, выведите 0.

Можно показать, что для любого возможного входного набора данных всегда можно добиться скуки, равной $1$. Другими словами, ответ всегда существует.

Примеры

Входные данные 1

4 2
00110110

Выходные данные 1

1

Входные данные 2

4 2
11110000

Выходные данные 2

3

Входные данные 3

4 1
10011001

Выходные данные 3

2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.