Bài 3: Dãy con (TS10 Thanh Hóa thi thử - 2026)
Xem PDFSau 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 hỗ trợ tiếp Bờm giải quyết bài toán nhé.
Bài tìm dãy con mà Bờm chưa tìm ra cách tối ưu như sau:
Cho một dãy số nguyên \(A\) gồm \(N\) phần tử \(A_1, A_2, \dots, A_N\) và hai số nguyên \(U, V\) (\(1 \le U \le V \le N\)). 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à có độ dài \(D\) 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ò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, \dots, A_N\) (\(|A_i| \le 10^9, 1 \le i \le N\)).
Output
- 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
Test 1
Input
6 2 2
-2 3 1 2 5 4
Output
9
Test 2
Input
5 2 3
-4 3 -2 -6 5
Output
1
Scoring
- Subtask \(1\) (\(50\%\) số điểm): Có \(U = V\).
- Subtask \(2\) (\(50\%\) số điểm): Không có ràng buộc gì thêm.
Kỳ thi:
- Thi thử tuyển sinh lớp 10 Chuyên Thanh Hóa 2026 (5 Tháng tư, 2026)
Bình luận