Dãy con có tổng lớn nhất

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: 900 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho dãy số nguyên \(a_1, a_2, \ldots, a_n\), một dãy con liên tiếp của dãy \(a\)\(a_l, a_{l + 1}, \ldots, a_{r}\) có trọng số là tổng \(a_l + a_{l + 1} + \ldots + a_{r}\). Hãy tìm dãy con liên tiếp có trọng số lớn nhất, hay tìm một cặp \((l, r)\)\(1\le l\le r\le n\)\((a_l + a_{l + 1} + \ldots + a_{r})\) là lớn nhất.

Input

  • Dòng đầu chứa số nguyên dương \(n\) \((n \le 10^5)\).
  • Dòng thứ hai chứa \(n\) số \(a_1, a_2, ..., a_n\) \((|a_i|\le 10^4)\).

Output

  • Ghi ra tổng lớn nhất tìm được.

Example

Test 1

Input
10
3 -1 -3 5 2 5 0 -1 5 4
Output
20

Bình luận

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

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