Sòng bạc may rủi

Xem dưới dạng PDF

Gửi bài giải


Điểm: 2
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Kiểu bài tập

Tèo bước vào sòng bạc với \(n\) ván bài, mỗi ván có thể thắng (\(a_i > 0\)) hoặc thua (\(a_i < 0\)). Tèo chơi liên tục một dãy các ván và muốn tổng tiền thắng là lớn nhất.

Hãy tìm tổng lớn nhất của một đoạn con liên tiếp (thuật toán Kadane).

Gợi ý: Duyệt mảng, duy trì \(cur = \max(a_i, cur + a_i)\), cập nhật \(best = \max(best, cur)\).

Input

Dòng đầu chứa \(n\) (\(1 \le n \le 10^5\)). Dòng hai chứa \(n\) số \(a_i\) (\(-10^9 \le a_i \le 10^9\)).

Output

In ra tổng lớn nhất của đoạn con liên tiếp.

Example

8
-2 1 -3 4 -1 2 1 -5 4

Output:

6

Giải thích: Đoạn \([4,-1,2,1]\) có tổng \(6\).


Nhận xét

Không có ý kiến tại thời điểm này.