Gửi bài giải
Điểm:
0,62 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho một dãy gồm ~N~ chữ số thuộc đoạn ~0~ ...~9~ ~(N \le 200)~. Ở mỗi bước, ta có thể lấy ra từ dãy này một đoạn liên tiếp các chữ số giống nhau và nhận được một số tiền bằng bình phương độ dài của đoạn được lấy ra. Nếu sau khi lấy, dãy đã cho bị tách làm ~2~ dãy con, ~2~ dãy con này lập tức được sát nhập lại thành ~1~ (giữ nguyên thứ tự).
Hãy tính số lượng tiền lớn nhất có thể thu được.
Input
Dòng đầu ghi số ~N~. Dòng thứ hai ghi ~N~ chữ số thể hiện dãy.
Output
Ghi ra số lượng tiền lớn nhất có thể thu được.
Sample Input
6
100011
Sample Output
18
Bình luận