[freateminicontest1_2] - Tổng dãy con lớn nhất

Xem dạng PDF

Gửi bài giải

Điểm: 2,50 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: MAX.INP
Output: MAX.OUT

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Trong kỳ nghỉ hè, Hiển và Hạo đang miệt mài ôn thi vòng 2 đội tuyển HSG Tin học. Một buổi chiều, Hạo đưa ra một bài toán thú vị: Cho một dãy số nguyên A gồm n phần tử A1,A2,,An. Hãy tìm dãy con liên tiếp có tổng lớn nhất. Hiển nhanh chóng nhận ra đây là bài toán kinh điển và quyết định viết chương trình giải nhanh gọn. Hãy giúp Hiển nhé!

Dãy con liên tiếp của A là một đoạn liên tục gồm các phần tử nằm liền nhau của A. Ví dụ, với A=[6,1,2,8,4], dãy [1,2,8] là một dãy con liên tiếp, còn [6,2,4] thì không.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên dương n (1n105) — độ dài dãy A.
  • Dòng thứ hai gồm n số nguyên Ai (|Ai|109) mô tả dãy A.

Kết quả

Gồm một dòng duy nhất chứa giá trị tổng lớn nhất của dãy con liên tiếp tìm được.

Ví dụ

MAX.INP
6
-1 3 -1 2 1 -5
MAX.OUT
5

Giải thích: Dãy con liên tiếp có tổng lớn nhất là A2+A3+A4+A5=3+(1)+2+1=5.

Ràng buộc

  • Có 50% số test ứng với n103, |Ai|104.
  • Có 50% số test còn lại ứng với n105, |Ai|109.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.