trang chủ / bài tập / palbeauty

Độ Đẹp Của Xâu Đối Xứng

Đề bài

Mô tả

Bạn được tặng k xâu, mỗi xâu có độ dài n. Xâu thứ isi và có độ đẹp ai (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 ai 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ả ai đều âm thì ta luôn có thể tạo ra xâu rỗng với độ đẹp 0.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên kn — số xâu và độ dài mỗi xâu.
  • k dòng tiếp theo, dòng thứ i chứa xâu si gồm n chữ cái latin in thường và một số nguyên ai — độ đẹ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

  • 1k,n105n·k105
  • 104ai104

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 5+(3)+7+2+(1)=12.
3 1
a 1
a 2
a 3
6 Ghép cả ba xâu a thành aaa, tổng độ đẹp 1+2+3=6.
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 0.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0