Độ Đẹp Của Xâu Đối Xứng
Đề bài
Mô tả
Bạn được tặng xâu, mỗi xâu có độ dài . Xâu thứ là và có độ đẹp (có thể âm).
Bạn được chọn một số (có thể không chọn, có thể chọn tất cả) trong các xâu đã cho và ghép chúng lại theo một thứ tự tuỳ ý để tạo thành một xâu mới. Mỗi xâu chỉ được dùng nhiều nhất một lần. Tổng độ đẹp của xâu ghép được là tổng các của những xâu được chọn.
Hãy tìm tổng độ đẹp lớn nhất của một xâu ghép được sao cho xâu đó là xâu đối xứng (đọc xuôi và đọc ngược giống nhau).
Lưu ý: xâu rỗng cũng là một xâu đối xứng, nên đáp án không bao giờ âm — kể cả khi tất cả đều âm thì ta luôn có thể tạo ra xâu rỗng với độ đẹp .
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và — số xâu và độ dài mỗi xâu.
- dòng tiếp theo, dòng thứ chứa xâu gồm chữ cái latin in thường và một số nguyên — độ đẹp của xâu, cách nhau bởi dấu cách.
Một số xâu có thể trùng nhau, và các xâu giống nhau vẫn có thể có độ đẹp khác nhau.
Dữ liệu ra
In ra một số nguyên duy nhất là tổng độ đẹp lớn nhất.
Ràng buộc
- và
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 3 abb 2 aaa -3 bba -1 zyz -4 abb 5 aaa 7 xyx 4 |
12 | Ghép các xâu 5, 2, 7, 6, 3 (theo thứ tự) thành abbaaaxyxaaabba — một xâu đối xứng với tổng độ đẹp . |
| 3 1 a 1 a 2 a 3 |
6 | Ghép cả ba xâu a thành aaa, tổng độ đẹp . |
| 2 5 abcde 10000 abcde 10000 |
0 | Không thể ghép hai xâu abcde thành một xâu đối xứng, nên tốt nhất là chọn xâu rỗng với độ đẹp . |
Bình luận