Xây tháp

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

Nam có \(n\) viên gạch được đánh số từ \(1\) đến \(n\). Các viên gạch có độ cứng lần lượt là \(a_1, a_2, \dots, a_n\). Một viên gạch có độ cứng \(x\) nghĩa là Nam có thể chồng lên trên viên gạch đó tối đa \(x\) viên gạch khác, nếu chồng nhiều hơn thì viên gạch đó bị vỡ. Hỏi Nam có thể sắp được chồng gạch cao nhất là bao nhiêu?

Input

  • Dòng đầu tiên là số nguyên \(n\) (\(1 \le n \le 10^5\)) - là số viên gạch.
  • Dòng tiếp theo gồm \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (\(0 \le a_i \le 10^9\)).

Output

  • Một số nguyên duy nhất là kết quả của bài toán.

Example

Test 1

Input
3
1 2 1
Output
3
Note

Trong test 1, viên trên cùng có độ cứng 1, viên giữa có độ cứng 1, viên dưới cùng có độ cứng 2 \(\Rightarrow\) chiều cao là 3.

Test 2

Input
6
0 0 0 0 0 0
Output
1

Bình luận

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

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