Cho dãy số nguyên a1,a2,...,aN(|ai|<109,N≤105). Một tập hợp khác rỗng các số hạng liên tiếp ai,ai+1,...,ak(i≤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ử: a1,a2,...,aN. 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
Copy
7
1 -2 -1 4 -1 5 -2
Output
Copy
8
Giải thích:
- Đoạn con (a4,a5,a6) 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.