Chọn đoạn
Xem PDFBạn tham gia vào một cuộc thi và đã phải đấu \(n\) trận, mỗi trận đấu nếu thắng bạn nhận được \(1\) điểm, ngược lại nếu thua bạn sẽ mất đi \(-1\) điểm. Tuy nhiên, để đối mặt với sự dò hỏi của huấn luyện viên, bạn quyết định bịa ra rằng chỉ có một vài trận đấu là bạn thật sự nghiêm túc thi đấu. Cụ thể, bạn sẽ chọn ra không quá \(k\) đoạn \([l_1, r_1], [l_2, r_2], \dots, [l_x, r_x]\) (với \(0 \le x \le k\)) sao cho \(1 \le l_1 \le r_1 < l_2 \le r_2 < \dots < l_x \le r_x \le n\) và nói rằng bạn chỉ nghiêm túc trong những trận đấu có chỉ số thuộc một trong các đoạn trên. Mức độ hài lòng của huấn luyện viên phụ thuộc vào số điểm bạn nhận được trong các trận đấu mà bạn coi là nghiêm túc. Hãy tìm cách chọn ra tối đa \(k\) đoạn sao cho tổng số điểm của bạn là lớn nhất.
Input
- Dòng đầu tiên chứa hai số nguyên \(n, k\) (\(1 \le k \le n \le 2\cdot 10^5\)), tương ứng là số trận đấu và số lượng đoạn tối đa bạn sẽ chọn.
- Dòng thứ hai chứa một xâu ký tự gồm \(n\) ký tự, ký tự thứ \(i\) tương ứng là trạng thái thắng hay thua của bạn ở ván đấu thứ \(i\), là
Wnếu bạn thắng, vàLnếu bạn thua.
Output
- Ghi kết quả trên một dòng, là tổng số điểm lớn nhất bạn chọn được.
Example
Test 1
Input
4 1
WLWW
Output
2
Scoring
- Subtask \(1\) (\(15\) điểm): \(k = 1\);
- Subtask \(2\) (\(15\) điểm): \(k = 2\);
- Subtask \(3\) (\(20\) điểm): \(n \le 100\);
- Subtask \(4\) (\(20\) điểm): \(n \le 500\);
- Subtask \(5\) (\(10\) điểm): \(n \le 2000\);
- Subtask \(6\) (\(10\) điểm): \(n \le 10^4\);
- Subtask \(7\) (\(10\) điểm): không có ràng buộc gì thêm.
Kỳ thi:
- Chung kết Young ICT 2024 - Bảng B (9 Tháng tư, 2024)
- Chung kết Young ICT 2024 - Bảng C2 (14 Tháng tư, 2024)
Bình luận