HSG12 Hải Phòng 2026 - Số K-chính phương

Xem dạng PDF

Gửi bài giải

Điểm: 45,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Hai số nguyên dương ~a~ và ~b~ được gọi là hai số chính phương liên tiếp nếu trong khoảng ~(a,b)~ không tồn tại một số chính phương khác. Một số nguyên được gọi là "số ~K~-chính phương" nếu nó có thể viết thành tổng của tối đa ~K~ số chính phương liên tiếp, mỗi số không quá ~10^8~.

Ví dụ: ~16 = 4^2~; ~25 = 3^2 + 4^2~; ~14 = 1^2 + 2^2 + 3^2~ là các số "~3~-chính phương".

Cho tập hợp ~A~ có ~N~ số nguyên dương ~\{a_1, a_2, \dots, a_N\}~. Gọi ~S~ là tổng của một tập hợp con khác rỗng bất kỳ của tập hợp ~A~.

Yêu cầu: Tìm ~S~ là "số ~K~-chính phương" lớn nhất.

Input

  • Dòng đầu tiên có ~2~ số nguyên dương ~N, K~ (~N \le 40; K \le 100~);

  • Dòng thứ hai có ~N~ số nguyên dương ~a_1, a_2, \dots, a_N~ (~a_i \le 10^8, i = 1 \dots N~).

Output

Một số là "số ~K~-chính phương" lớn nhất. Nếu không tìm thấy thì ghi ra số ~0~.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~N = 3~; ~a_1 + a_2 + \dots + a_N \le 10^6~.
2 ~30\%~ ~N > 20~; ~a_1 + a_2 + \dots + a_N \le 10^6~.
3 ~40\%~ ~N \le 20~; ~a_1 + a_2 + \dots + a_N \le 10^9~.

Sample Input 1

3 4
51 41 35

Sample Output 1

86

Sample Input 2

5 8
284 44 275 160 9

Sample Output 2

728

Notes

Trong ví dụ thứ nhất, tập con thỏa mãn: ~\{51, 35\}~ có tổng là: ~86 = 3^2 + 4^2 + 5^2 + 6^2~.

Trong ví dụ thứ hai, tập con thỏa mãn: ~\{284, 275, 160, 9\}~ có tổng là: ~728 = 7^2 + 8^2 + 9^2 + 10^2 + 11^2 + 12^2 + 13^2~.


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.