Bài 3: Dãy con (TS10 Thanh Hóa thi thử - 2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1500 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

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 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.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.