Cho một xâu ~S~ chỉ gồm các ký tự chữ cái trong bảng chữ cái tiếng Anh và các chữ số từ 0
đến 9
. Một số trong xâu ~S~ được định nghĩa là một ký tự chữ số hoặc là các kí tự số liên tiếp và không bao gồm các chữ số 0
không có nghĩa.
Ví dụ với xâu ~S =~ 05aAb21b3956cDe488a
, các số có trong xâu là: ~5; 21; 3956; 488~.
Yêu cầu
Cho xâu ~S~ chỉ gồm các kí tự chữ cái tiếng Anh và các chữ số. Hãy viết chương trình tìm số chính phương lớn nhất có trong xâu ~S~. (Số chính phương là số bằng bình phương của một số nguyên, ví dụ ~9~ là số chính phương vì ~9 = 3^2~).
Dữ liệu đầu vào
Gồm gồm xâu ~S~ chỉ chứa các ký tự chữ cái trong bảng chữ cái tiếng Anh và chữ số (dữ liệu đảm bảo xâu ~S~ có không quá ~18~ chữ số có nghĩa liền nhau và độ dài xâu không quá ~10^5~ ký tự).
Dữ liệu đầu ra
Gồm số chính phương lớn nhất tìm được hoặc số ~-1~ nếu không tìm được số chính phương nào.
Ràng buộc dữ liệu
- Có 30% số điểm thỏa mãn xâu ~S~ có độ dài không quá ~250~ ký tự;
- Có 30% số điểm thỏa mãn xâu ~S~ có độ dài không quá ~10^3~ ký tự;
- Có 40% số điểm không có ràng buộc gì thêm.
Ví dụ
Ví dụ 1
INPUT
aBc2144gHf81Dgf09gf
OUTPUT
81
Giải thích: Các số có trong xâu ~S~ là ~2144; 81; 9~. Số chính phương lớn nhất tìm được là ~81~.
Ví dụ 2
INPUT
dGaf2leac056Ude00132aV
OUTPUT
-1
Giải thích: Các số có trong xâu ~S~ là ~21; 56; 132~. Không có số chính phương.
Bình luận