Đoạn con

Xem PDF

Nộp bài


Điểm: 10
Thời gian: 1.0s
Bộ nhớ: 64M

Tác giả:
Dạng bài

Cho dãy số nguyên \(a_1, a_2,..., a_N(|a_i| < 10^9, N ≤ 10^5)\). Một tập hợp khác rỗng các số hạng liên tiếp \({a_i, a_{i+1},..., a_k} (i \le k)\) gọi là một đoạn con của dãy đó. Với mỗi đoạn con ta tính tổng tất cả các số hạng của nó.

Yêu cầu: Tìm giá trị lớn nhất trong số các tổng của các đoạn con của dãy đã cho.

Dữ liệu vào:

  • Dòng đầu chứa số \(N\);
  • Dòng thứ hai là một dãy số nguyên gồm \(N\) phần tử: \(a_1, a_2,..., a_N.\) Các số cách nhau một dấu cách.

Dữ liệu ra: Một số nguyên là giá trị tổng đoạn con lớn nhất tìm được.

Ví dụ:

Input

7
1 -2 -1 4 -1 5 -2

Output

8

Giải thích:

  • Đoạn con \((a_4, a_5, a_6)\) có tổng lớn nhất là: \(4 – 1 + 5 = 8\)

Ràng buộc:

  • Có 70% số test ứng với 70% số điểm của bài có \(N ≤ 3x10^3\);
  • Có 30% số test khác ứng với 30% số điểm còn lại của bài.