Rút gọn đoạn

View as PDF

Submit solution

Points: 0.62 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem source:
Một bài của đội tuyển Ðà Nẵng
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, 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

Comments

Please read the guidelines before commenting.


There are no comments at the moment.