Sau khi học lập trình một thời gian Bờm đã thi đậu vào đội tuyển dự thi học sinh giỏi cấp tỉnh. Bờm ôn luyện rất chăm chỉ, quyết tâm đạt một giải trong kỳ thi này nhưng trong quá trình ôn luyện Bờm học không giỏi về xử lý dãy số, các bài xử lý dãy số nâng cao càng làm Bờm gặp khó khăn nhiều hơn.
Trong các bài xử lý dãy số có bài tìm dãy con liên tiếp có độ dài bất kỳ sao cho tổng giá trị các phần tử dãy con đạt giá trị lớn nhất Bờm chưa tìm ra được cách giải tối ưu, nhờ các bạn lập trình viên trợ giúp Bờm giải quyết nhé.
Bài tìm dãy con mà Bờm chưa tìm ra cách giải tối ưu như sau:
Cho một dãy số nguyên \(A\) gồm \(N\) phần tử \(A_1, A_2, \ldots, A_N\) và hai số nguyên dương \(U, V\) (\(1 \le U \le V \le N\)).
Yêu cầu: Hãy tìm một dãy con liên tiếp của dãy \(A\) có tổng giá trị các phần tử đạt giá trị lớn nhất và độ dài \(D\) là tùy ý với \(U \le D \le V\). (Độ dài của dãy con là số lượng phần tử trên dãy con đó).
Input
Dữ liệu vào:
-
Dòng đầu chứa \(3\) số nguyên dương \(N, U, V\) (\(1 \le U \le V \le N \le 10^5\)).
-
Dòng thứ hai chứa dãy số nguyên \(A\) gồm \(N\) phần tử \(A_1, A_2, \ldots, A_N\) (\(|A_i| \le 10^9\), \(1 \le i \le N\)).
Các số trên cùng một dòng cách nhau bởi dấu cách.
Ràng buộc:
-
Subtask 1 (\(40\%\) số điểm): \(U = V\) và \(N \le 3 \cdot 10^2\);
-
Subtask 2 (\(15\%\) số điểm): \(U < V\) và \(N \le 3 \cdot 10^2\);
-
Subtask 3 (\(15\%\) số điểm): \(U < V\) và \(N \le 5 \cdot 10^3\);
-
Subtask 4 (\(15\%\) số điểm): \(U < V\) và \(N \le 10^5\);
-
Subtask 5 (\(15\%\) số điểm): Không có ràng buộc nào thêm.
Output
In ra Một số nguyên duy nhất là tổng giá trị các phần tử trên dãy con tìm được.
Example 1
Input:
6 2 2
-2 3 1 2 5 4
Output:
9
Example 2
Input:
5 2 3
-4 3 -2 -6 5
Output:
1
Note
Ở ví dụ thứ nhất, dãy con có độ dài \(2\) và tổng lớn nhất là \((5, 4)\) với tổng \(9\). Ở ví dụ thứ hai, dãy con \((3, -2)\) có độ dài \(2\) và tổng \(1\) là lớn nhất.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.