JOI 2007 - The Largest Sum

Xem PDF



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, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 800 (p) Thời gian: 5.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho dãy gồm \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) và số nguyên dương \(k\). Với mỗi \(i\) thỏa mãn \(1 \le i \le n-k+1\), gọi

\[ S_i = a_i + a_{i+1} + \cdots + a_{i+k-1} \]

là tổng của \(k\) phần tử liên tiếp bắt đầu tại vị trí \(i\).

Yêu cầu

Tìm giá trị lớn nhất trong các tổng \(S_i\).

Dữ liệu vào

Đọc từ đầu vào chuẩn:

  • Dòng đầu tiên chứa hai số nguyên \(n\)\(k\), cách nhau bởi một dấu cách.
  • Dòng thứ \(i+1\) (\(1 \le i \le n\)) chứa số nguyên \(a_i\).

Dữ liệu ra

Ghi ra đầu ra chuẩn một dòng chứa một số nguyên duy nhất là giá trị lớn nhất của \(S_i\).

Ràng buộc

  • \(1 \le n \le 100\,000\).
  • \(1 \le k \le n\).
  • \(-10\,000 \le a_i \le 10\,000\) với mọi \(1 \le i \le n\).

Phân nhóm

Bài có tổng cộng \(20\) điểm, gồm \(5\) test, mỗi test \(4\) điểm.

  1. Nhóm 1 (\(12\) điểm, \(60\%\)): \(1 \le n \le 5\,000\), \(1 \le k \le \min(n,1\,000)\).
  2. Nhóm 2 (\(8\) điểm, \(40\%\)): \(1 \le n \le 100\,000\), \(1 \le k \le n\).

Ví dụ

Ví dụ 1

Input
5 3
2
5
-4
10
3
Output
11

Bình luận

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

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

Kỳ thi: