Chọn kí tự


Submit solution

Points: 2 (partial)
Time limit: 1.0s
JAVA11 2.0s
Pypy 3 2.0s
Memory limit: 98M
JAVA11 977M
Pypy 3 977M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Cho \(n\) xâu có độ dài bằng nhau và bằng \(k\). Bạn có thể chọn ra kí tự trên các xâu ghép lại thành một xâu mới, sao cho nếu kí tự thứ \(j\) ở xâu thứ \(i\) đã được chọn thì chỉ có thể chọn tiếp kí tự đứng sau trong xâu hiện tại hoặc các xâu đứng sau (các kí tự thứ \(j + 1, j + 2, ..., k\) ở các xâu thứ \(i, i + 1, ... n\)). Tìm xâu có thứ tự từ điển nhỏ nhất độ dài \(k\) thỏa mãn cách chọn này.

Ghi chú: Với hai xâu độ dài bằng nhau \(A\) và \(B\), xâu \(A\) nhỏ hơn xâu \(B\) theo thứ tự từ điển khi tại vị trí đầu tiên mà kí tự của hai xâu khác nhau, kí tự ở xâu \(A\) đứng trước kí tự ở xâu \(B\) trong bảng chữ cái.

Đầu vào

Dòng đầu tiên chứa số nguyên \(n\) \((1 \le n \le 10^6)\).

\(n\) dòng tiếp theo mỗi dòng chứa một xâu duy nhất, chỉ chứa toàn các chữ cái tiếng Anh viết thường.

Các xâu nhập vào đảm bảo có độ dài bằng nhau và tổng độ dài không vượt quá \(10^6\).

Đầu ra

Một xâu duy nhất là kết quả của bài toán.

Subtask

\(50\%\) số test có \(n = 2\).

Ví dụ

Đầu vào 1:

3
iodhdjk
aaobnbb
ineqdkd

Đầu ra 1:

aaeqdkd

Đầu vào 2:

3
azaaaaa
bbzbbbb
ccczccc

Đầu ra 2:

abczccc
QDUY

Comments

There are no comments at the moment.