Đoạn con dài nhất có tổng lớn hơn hoặc bằng 0

Xem dạng PDF

Gửi bài giải

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

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho dãy số nguyên gồm N phần tử ~a_1,a_2,…,a_N~.

Yêu cầu:

Bạn hãy tìm đoạn con liên tiếp dài nhất có tổng lớn hơn ~0~ và bạn hãy in ra độ dài của dãy đó. Nói cách khác, bạn cần tìm cặp chỉ số (~i,j~) thỏa mãn ~a_i+a_{(i+1)}+⋯+a_j≥0~ và giá trị ~j-i+1~ lớn nhất có thể. Sau đó in ra giá trị ~j-i+1.~

Input:

Cho trong tệp IDP2004D.INP

  • Dòng đầu chứa số nguyên dương ~N~ (~N≤10^5~ );
  • Dòng thứ hai chứa ~N~ số nguyên ~a_1,a_2,…,a_N~ (~|a_i |≤10^5~ ).

    Output:

Ghi ra tệp IDP2004D.OUT giá trị ~j-i+1.~

Ví dụ:

IDP2004D.INP

5
-2 3 1 -4 1 4

IDP2004D.OUT

4

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.