Bedao OI Contest 3 - PALIN

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 3.0s
Giới hạn bộ nhớ: 256M
Input: palin.inp
Output: palin.out

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho một xâu ~S~ gồm các chữ cái Latinh viết hoa, một số nguyên dương ~C~ và một dãy gồm ~|S|~ phần tử ~A_1, A_2, \cdots, A_{|S|}~.

Xuất phát tại một vị trí ~1 \le i \le |S|~, hãy tìm chi phí nhỏ nhất để di chuyển và biến đổi xâu ~S~ thành palindrome.

Biết rằng từ vị trí ~i~ di chuyển tới ~i - 1~ hoặc ~i + 1~ sẽ tốn ~C~ chi phí. Tại một vị trí ~j~ bất kì, ta được phép biến đổi ~S_j~ thành bất cứ kí tự nào với chi phí là ~A_j~.

In ra chi phí nhỏ nhất với mọi vị trí.

Input

Dữ liệu vào từ file văn bản palin.inp:

Dòng đầu tiên chứa số nguyên ~T~ (~1 \le T \le 1000~) — Số test. Với mỗi test:

  • Dòng đầu tiên của test chứa xâu ~S~ (~1 \le |S| \le 10^6~) — Xâu ~S~ chỉ gồm các chữ cái Latin viết hoa.

  • Dòng tiếp theo chứa số nguyên dương ~C~ (~1 \le C \le 10^9~) — Chi phí một bước di chuyển.

  • Dòng cuối cùng chứa ~|S|~ số nguyên ~A_1, A_2, \cdots, A_n~ (~1 \le A_i \le 10^9~) — Chi phí một phép biến đổi của mỗi vị trí.

Dữ liệu đảm bảo tổng ~|S|~ của tất cả các test không vượt quá ~10^6~.

Output

Dữ liệu in ra file văn bản palin.out:

Với mỗi test, trên một dòng in ra ~|S|~ số nguyên là chi phí nhỏ nhất để biến đổi xâu ~S~ thành palindrome với mọi vị trí.

Scoring

Subtask Điểm Giới hạn
1 ~10\%~ Tổng ~|S| \le 40~
2 ~20\%~ Tổng ~|S| \le 500~
3 ~20\%~ Tổng ~|S| \le 5000~
4 ~50\%~ Không có ràng buộc gì thêm

Sample Input 1

2
ABCDE
1
7 1 4 5 1
ABCDA
1
7 1 4 5 1

Sample Output 1

6 5 6 6 5
2 1 2 3 4

Notes

Ở ví dụ thứ nhất, bắt đầu ở vị trí ~1~, một trong những cách tối ưu là di chuyển sang vị trí ~2~ tốn ~1~, đổi "B" thành "D" tốn ~1~, sau đó di chuyển đến vị trí ~5~ tốn ~3~ và đổi "E" thành "A" tốn ~1~. Tổng cộng là ~6~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


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