An tạo cho mình một mật khẩu bằng cách sinh ra một dãy \(S\) gồm các chữ cái Latin in thường viết liền nhau. Sau đó An thực hiện:
- Sắp xếp các chữ cái trong \(S\) theo thứ tự từ điển thu được dãy \(S'\).
- Từ \(S'\), An tạo dãy mới \(T\) bằng cách với mỗi chữ cái: - Nếu có nhiều hơn \(1\) chữ cái a thì chỉ giữ lại \(1\), ngược lại giữ nguyên; - Nếu có nhiều hơn \(2\) chữ cái b thì chỉ giữ lại \(2\), ngược lại giữ nguyên; - … - Nếu có nhiều hơn \(26\) chữ cái z thì chỉ giữ lại \(26\), ngược lại giữ nguyên. (Nói cách khác, với chữ cái thứ \(i\) trong bảng chữ cái, An chỉ giữ lại tối đa \(i\) lần xuất hiện.)
- Ghép \(T\) vào sau \(S\) và ghi dãy nhận được vào sổ tay.
Sau một thời gian, An không thể nhớ lại mật khẩu \(S\) nữa.
Yêu cầu: Cho dãy đã ghi trong sổ tay, hãy tìm lại mật khẩu \(S\).
Input
Đọc từ tệp CAU3.INP:
- Dòng đầu chứa số nguyên \(n\) \((2 \le n \le 5 \cdot 10^5)\) là số chữ cái trong dãy ghi trong sổ tay.
- Dòng thứ hai chứa một xâu gồm \(n\) chữ cái Latin in thường là dãy đã ghi.
Output
Ghi ra tệp CAU3.OUT một dòng là mật khẩu \(S\) tìm được.
Input
%
19
abbracadabraabbcdrr
Output
%
abbracadabra
Input
%
10
dddddddddd
Output
%
dddddd
Scoring
- 20% số điểm: mật khẩu chỉ gồm chữ cái a.
- 40% số điểm: mật khẩu chỉ gồm các chữ cái giống nhau.
- 40% số điểm còn lại: 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.