Rửa bát

Đề bài

Mô tả

Bessie và Elsie cùng rửa bát. Có N chiếc đĩa bẩn xếp thành một chồng, kích thước của chúng đôi một khác nhau và tạo thành một hoán vị của 1,2,,N. Đĩa thứ i tính từ trên xuống có kích thước pi.

Trên quầy bếp có một dãy các chồng đĩa đã rửa xà phòng, xếp từ trái sang phải (ban đầu chưa có chồng nào). Hai con bò làm việc như sau, và có thể xen kẽ thao tác của mình theo thứ tự bất kỳ:

  • Bessie lấy chiếc đĩa trên cùng của chồng đĩa bẩn, rửa xà phòng, rồi đặt nó lên quầy. Cô chỉ được đặt chiếc đĩa đó lên trên một chồng đang có mà đĩa trên cùng của chồng ấy lớn hơn chiếc đĩa vừa rửa, hoặc tạo một chồng mới nằm bên phải tất cả các chồng hiện có.
  • Elsie lấy chiếc đĩa trên cùng của chồng bên trái nhất (trong các chồng còn đĩa) trên quầy, tráng nước, rồi đặt sang chồng đĩa sạch. Chồng đĩa sạch phải có kích thước tăng dần, nghĩa là mỗi chiếc đĩa Elsie tráng phải lớn hơn mọi chiếc đĩa cô đã tráng trước đó.

Hai người muốn xử lý xong càng nhiều đĩa càng tốt, tính từ trên chồng đĩa bẩn xuống. Hãy tìm số K lớn nhất sao cho K chiếc đĩa đầu tiên đều có thể được rửa xà phòng rồi tráng nước xong (những chiếc đĩa còn lại không được đụng tới).

Dữ liệu vào

  • Dòng đầu chứa số nguyên N.
  • N dòng tiếp theo, dòng thứ i chứa số nguyên pi, là kích thước của chiếc đĩa thứ i tính từ trên chồng đĩa bẩn xuống.

Dữ liệu ra

Một số nguyên duy nhất: giá trị K lớn nhất.

Ràng buộc

  • 1N105
  • p1,p2,,pN là một hoán vị của 1,2,,N

Ví dụ

Input Output Giải thích
5
4
5
2
3
1
4 Với 4 đĩa đầu (4, 5, 2, 3): Bessie đặt đĩa 4 tạo chồng A, đĩa 5 phải tạo chồng mới B (vì 5>4), rồi đặt đĩa 2 lên chồng A. Lúc này 2 là đĩa nhỏ nhất trong 4 đĩa nên Elsie tráng ngay, chồng A chỉ còn đĩa 4. Bessie đặt đĩa 3 lên chồng A, Elsie tráng 3, rồi 4, rồi 5. Nếu lấy thêm đĩa thứ năm (kích thước 1) thì đĩa 2 không được tráng sớm nữa, đĩa 3 buộc phải nằm ở chồng B, và sau khi tráng 1 với 2 thì chồng A vẫn còn đĩa 4 chặn phía trước nên không lấy được đĩa 3.
4
4
2
3
1
3 Với 3 đĩa đầu (4, 2, 3): đặt đĩa 4 tạo chồng A, đĩa 2 lên chồng A rồi Elsie tráng ngay đĩa 2, sau đó đĩa 3 lại đặt được lên chồng A và tráng lần lượt 3, 4. Nếu lấy cả đĩa 1 thì đĩa 2 phải chờ đĩa 1, nên đĩa 3 buộc phải tạo chồng B; cuối cùng tráng xong 1 và 2 thì đĩa 3 nằm ở chồng B trong khi chồng A còn đĩa 4.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0