Bài 4. Dãy số (HSG 9 Ninh Bình 2024-2025)

Xem PDF



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

Cho dãy gồm \(n\) số tự nhiên \(a_1, a_2, a_3,\ldots, a_n\), các số \(a_i\) \((1 \leq i \leq n)\) không quá \(m\) và có giá trị đôi một khác nhau, trong đó có đúng một số có giá trị bằng \(0\).

Yêu cầu: Thay thế số \(0\) thành một giá trị bất kì không được trùng với các giá trị đã có để nhận được một dãy con có các giá trị liên tiếp dài nhất có thể.

Input

  • Dòng đầu ghi hai số nguyên \(m, n\) \((1 \leq n < m \leq 10^6)\)
  • Dòng thứ hai chứa \(n\) số tự nhiên đôi một khác nhau không lớn hơn \(m\)

Output

  • Ghi ra một số nguyên duy nhất là độ dài của dãy con có giá trị liên tiếp dài nhất có thể đạt được sau khi thay đổi giá trị của số \(0\)

Example

Test 1

Input
8 5
8 2 0 5 7
Output
4
Note

Ta có thể gán giá trị \(6\) cho phần tử có giá trị \(0\), khi đó dãy trở thành \(8, 2, 6, 5, 7\). Dễ thấy dãy con \(8, 6, 5, 7\) có các phần tử có giá trị liên tiếp nhau là \(5, 6, 7, 8\) và có độ dài \(4\) là dài nhất.

Scoring

  • \(40\%\) số test ứng với \(40\%\) số điểm có: \(1 \leq n \leq 100\)
  • \(30\%\) số test ứng với \(30\%\) số điểm có: \(100 < n \leq 1000\)
  • \(30\%\) số test ứng với \(30\%\) số điểm có: \(1000 < n < 10^6\)

Bình luận

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

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