Băng rôn olympic- (Olympic 30/4 K10 - 2024)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình


Để chào mừng cuộc thi Olympic 30/4, Hạnh nhận nhiệm vụ trang trí băng rôn chào mừng. Ban đầu, băng rôn là một chuỗi có chiều dài \(n\) chỉ gồm các chữ cái in hoa O, L và P. Một băng rôn được gọi là “đẹp” nếu có chứa một trong các kí tự O, L hoặc P với số lần xuất hiện từ \(3\) trở lên.

Yêu cầu: Cho xâu \(S\) là nội dung của băng rôn ban đầu, hãy đếm số lượng xâu con thỏa điều kiện là băng rôn “đẹp”.

Input

  • Một dòng duy nhất chứa xâu \(S\) độ dài \(n\) \((3 \leq n \leq 10^{5})\) chỉ gồm các chữ cái O, L, P.

Output

  • Một số nguyên duy nhất là số lượng xâu con thỏa điều kiện là băng rôn “đẹp”.

Scoring

  • Subtask \(1\) (\(25\%\) điểm): \(3 \leq n \leq 10^{2}\).
  • Subtask \(2\) (\(25\%\) điểm): \(10^{2} < n \leq 10^{3}\).
  • Subtask \(3\) (\(50\%\) điểm): \(10^{3} < n \leq 10^{5}\).

Example

Test 1

Input
OLPPP
Output
3
Note

Có \(3\) xâu con thỏa mãn: PPP, LPPP, OLPPP

Test 2

Input
OLPOLP
Output
0
Note

Không tồn tại xâu con thỏa mãn điều kiện.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: