Dãy số nguyên liên tiếp (C.P.VNOI 2021 LMH R7)

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

Cho dãy số nguyên \(A = (a_1, a_2, \dots, a_n)\), bạn được thay mỗi số \(0\) trong \(A\) bởi một số nguyên bất kỳ khác, sau đó chọn ra trong dãy \(A\) một số nhiều nhất các số (không cần đúng thứ tự) sao cho các số đã chọn tạo thành một dãy số nguyên liên tiếp.

Yêu cầu: Tìm cách có được dãy số nguyên liên tiếp dài nhất theo cách trên.

Ví dụ với \(A = (1, 0, 3, 8, 5, 9, 0)\), ta có thể thay hai số \(0\) lần lượt bởi \(6\)\(7\), khi đó có thể chọn trong \(A\) ra các số \((5, 6, 7, 8, 9)\) để được dãy số nguyên liên tiếp dài nhất.

Input

  • Dòng 1 chứa số nguyên dương \(n \leq 10^6\).
  • Dòng 2 chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) cách nhau bởi dấu cách (\(\forall i: |a_i| \leq 10^6\)).

Output

  • Ghi ra một số nguyên duy nhất là độ dài dãy số nguyên liên tiếp thu được theo phương án của bạn.

Example

Test 1

Input
7
1 0 3 8 5 9 0
Output
5

Bình luận

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

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