Gửi bài giải
Điểm:
1,25 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Beo đang luyện thi cùng Cheow và được giao một thử thách. Cho một dãy gồm ~N~ số nguyên không âm, Cheow muốn Beo tìm một dãy con liên tiếp dài nhất mà nếu chia dãy con này thành hai phần liên tiếp thì tổng hai phần bằng nhau.
Nói cách khác, hãy tìm đoạn con dài nhất có thể "gập đôi" ở một vị trí nào đó, mà tổng hai nửa đều nhau.
Beo cần bạn giúp hoàn thành bài này để có thể đi ăn kem cùng hội bạn gồm Tang, TanTan và Talulu 😄.
Input
- Dòng đầu tiên chứa số nguyên ~N~ ~(2 ≤ N ≤ 5×10^3)~
- ~N~ dòng tiếp theo, dòng thứ ~i~ chứa giá trị của phần tử ~A_i~ ~(0 ≤ A_i ≤ 2×10^5)~
Output
- In ra độ dài lớn nhất của dãy con liên tiếp thoả mãn điều kiện trên. Nếu không có dãy nào phù hợp, in ra
0
.
📌 Example
Input
5
4 1 3 2 2
Output
4
💡 Explanation
Ta xét đoạn con từ chỉ số 2 đến 5: [1, 3, 2, 2]
.
Chia đoạn con này thành hai nửa:
- Nửa đầu:
[1, 3]
có tổng = 4 - Nửa sau:
[2, 2]
cũng có tổng = 4
⇒ Đây là một dãy con liên tiếp thoả mãn yêu cầu và có độ dài là 4
.
Không có đoạn nào dài hơn thoả điều kiện nên kết quả là 4
.
Bình luận