Điểm:
400 (p)
Thời gian:
1.0s
Bộ nhớ:
1023M
Input:
bàn phím
Output:
màn hình
An tự cho rằng mình có khả năng điều khiển các vật ở ngoài xa. Tuyên bố này khiến Na bị sốc, vốn là một người theo chủ nghĩa duy lý xác nhận, ngay lập tức Na muốn An phải chứng minh khả năng này.
An quyết định tung một đồng xu để biểu diễn khả năng của mình. An nói rằng mình có thể làm việc ấy theo cách như này: số mặt ngửa sẽ hơn số mặt sấp đúng \(k\) lần. Na đã viết ra kết quả của các lần tung đồng xu và bây giờ ông muốn tìm ra chuỗi dài nhất các lần tung xu liên tiếp mà số mặt ngửa gấp số mặt sấp đúng \(k\) lần.
Input
- Dòng đầu tiên chứa 2 số nguyên \(n\) và \(k\) (\(3 \leq n \leq 10^6, 2 \leq k \leq n - 1\)), \(n\) cho biết số lần tung xu của An trong khi \(k\) đã được mô tả trong yêu cầu của bài.
- Dòng thứ hai gồm một dãy \(n\) ký tự cho biết kết quả của các lần tung xu liên tiếp. Dãy này gồm các ký tự
O
vàR
biểu thị mặt ngửa hoặc mặt sấp.
Output
- Chỉ có 1 dòng duy nhất chứa 1 số nguyên cho biết độ dài chuỗi dài nhất các lần tung xu liên tiếp mà trong đó số mặt ngửa gấp chính xác \(k\) lần số mặt sấp. Nếu không tồn tại chuỗi như thế thì xuất ra số 0.
Example
Test 1
Input
17 3
OROOOOOROOOOORRRR
Output
12
Bình luận
Spoiler Alert
Hint 1
Hint 2
Hint 3
Reference AC code | O(n) time | O(1) auxiliary space | Online Solving, STL, Equalsum-problem ???