[Buổi 9][Mảng một chiều][ADV] Bài 1: Đoạn dương liên tiếp dài nhất


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Đoạn dương liên tiếp dài nhất

Bối cảnh

Một chuỗi số đo có các giai đoạn dương liên tiếp. Hệ thống cần biết giai đoạn dài nhất có bao nhiêu phần tử.

Bài Advanced vẫn chỉ dùng mảng và vòng lặp, nhưng đòi hỏi quản lý hai trạng thái: độ dài hiện tại và tốt nhất.

Yêu cầu

  1. Đọc n và mảng.
  2. Xét các đoạn liên tiếp mà mọi phần tử đều > 0.
  3. Tìm độ dài lớn nhất.
  4. In độ dài.

Input

Dòng 1: n. Dòng 2: n số.

Output

Một số nguyên.

Ràng buộc

1 ≤ n ≤ 5000, |a[i]| ≤ 10^9.

Ví dụ 1

Input

8
1 2 -1 3 4 5 0 6

Output

3

Giải thích

Các đoạn dương có độ dài 2 (1 2), 3 (3 4 5) và 1 (6). Dài nhất là 3.

Ví dụ 2

Input

5
-1 -2 -3 -4 -5

Output

0

Giải thích

Không có phần tử dương nên mọi đoạn dương có độ dài 0; kết quả là 0.

Thông tin học tập

  • Module: M03
  • Buổi: B09
  • Loại bài: ADVANCED
  • Độ khó: Hard
  • Concepts: static arrays, longest streak, state tracking, traversal
  • Giới hạn kiến thức: B01-B09
  • Time limit: 2 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo