Dãy con kim tự tháp dài nhất

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

Cho một dãy số \(A\) gồm \(n\) phần tử \(a_1, a_2, \ldots, a_n\). Một dãy con \(a_{i_1}, a_{i_2}, \ldots, a_{i_k}\) của \(A\) được gọi là dãy con hình kim tự tháp nếu như trong dãy đó tồn tại một vị trí \(i_{mid}\) thỏa mãn:

\[a_{i_1} < a_{i_2} < \ldots < a_{i_{mid}} > a_{i_{mid + 1}} > \ldots > a_{i_k}\]

Hãy tìm dãy con hình kim tự tháp dài nhất trong dãy đã cho?

Input

  • Dòng đầu tiên chứa số nguyên dương \(n\) - số phần tử của dãy số \((1 \le n \le 2 * 10^5)\).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n (1 \le a_i \le 10^9)\) phân tách nhau bởi dấu cách.

Output

  • Số nguyên duy nhất là độ dài dãy con hình kim tự tháp dài nhất tìm được.

Scoring

  • Subtask 1 \((30\%)\): \(1 \le n \le 20\).
  • Subtask 2 \((40\%)\): \(1 \le n \le 5000\).
  • Subtask 3 \((30\%)\): \(1 \le n \le 2 * 10^5\).

Sample

Test 1
Input
6
4 2 3 5 3 6
Output
4
Giải thích

Dãy dài nhất tìm được là \(\{2, 3, 5, 3\}\)

Test 2
Input
5
3 2 1 2 3
Output
3
Giải thích

Dãy dài nhất tìm được là \(\{3, 2, 1\}\) hoặc \(\{1, 2, 3\}\)

Bình luận

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

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