Lam là một học sinh giỏi môn Tin học, các bạn trong lớp hay nhờ Lam giải các bài toán khó. Hôm nay các bạn có nhờ Lam một bài toán về xâu như sau:
Cho xâu \(S\) chỉ gồm các kí tự chữ cái in thường, các kí tự trong xâu \(S\) được đánh số thứ tự từ \(1\) đến \(|S|\) (trong đó \(|S|\) là độ dài của xâu \(S\)) và thực hiện \(m\) lần thay đổi.
Với mỗi lần thay đổi, chọn một số nguyên dương \(k\) và đảo ngược một đoạn của xâu \(S\) từ vị trí \(|S| - k + 1\) đến vị trí \(k\) (luôn đảm bảo \(k > \left\lfloor \frac{|S|}{2} \right\rfloor\)).
Yêu cầu. Viết chương trình tìm xâu \(S\) sau \(m\) lần thay đổi.
Input
- Dòng thứ nhất là xâu \(S\) \((2 \le |S| \le 2 \cdot 10^5)\);
- Dòng thứ hai là số nguyên dương \(m\) \((1 \le m \le 10^5)\);
- Dòng thứ ba là \(m\) số nguyên dương \(a_1, a_2, \dots, a_m\) \(\left(\left\lfloor \frac{|S|}{2} \right\rfloor < a_i \le |S|, i = 1..m\right)\).
Output
Ghi ra tệp văn bản một dòng duy nhất là kết quả của bài toán.
Input
%
abcdef
3
5 6 4
Output
%
fbdcea
Notes
- Với \(k = 5\) thì xâu “abcdef” thay đổi thành “aedcbf”;
- Với \(k = 6\) thì xâu “aedcbf” lại đổi thành “fbcdea”;
- Với \(k = 4\) thì xâu “fbcdea” lại đổi thành “fbdcea”.
Scoring
- (50%) \(|S| \le 10^3\) và \(m \le 10^3\);
- (50%) Không có ràng buộc gì thêm.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.