Duyên hải Bắc Bộ 2021 - Xâu nhị phân

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho xâu ~S~ gồm ~n~ ký tự ~s_i \in \{0, 1\}~ và số tự nhiên ~k~. Hãy tìm cách đảo một số ít nhất các ký tự của chuỗi ~S~ (đảo ký tự 0 thành ký tự 1 hoặc ngược lại) sao cho chuỗi kết quả có thể được phân tách thành không quá ~k~ chuỗi con mà mỗi chuỗi con chỉ chứa các ký tự 0 hoặc chỉ chứa các ký tự 1.

Yêu cầu: Cho biết số ký tự ít nhất trong xâu ~S~ cần đảo.

Input

  • Dòng 1 chứa hai số nguyên dương ~n, k \le 2 \cdot 10^5~ cách nhau bởi dấu cách.
  • Dòng 2 ghi xâu ~S~ (gồm ~n~ ký tự ~\in \{0, 1\}~ viết liền nhau).

Output

  • Ghi ra một số nguyên duy nhất là số ký tự ít nhất trong xâu ~S~ cần đảo.

Sample Input 1

10 1
1000100011

Sample Output 1

4

Giải thích ví dụ 1: Biến đổi thành xâu gồm toàn ký tự 0.

Sample Input 2

6 2
010110

Sample Output 2

2

Giải thích ví dụ 2: Biến đổi thành: 000111 hoặc 111110 hoặc 011111

Subtasks

  • Subtask 1 (20% số điểm): ~n \le 20~.
  • Subtask 2 (20% số điểm): ~n, k \le 400~.
  • Subtask 3 (20% số điểm): ~n \le 2 \cdot 10^5; k \le 400~.
  • Subtask 4 (20% số điểm): ~n \le 2 \cdot 10^5; k \le 5000~.
  • Subtask 5 (20% số điểm): Không có ràng buộc bổ sung ngoài các ràng buộc đã nêu trong đề bài.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.