Truy vấn Tòa nhà Có thể thấy

Đề bài

Mô tả

n tòa nhà xếp thành hàng. Một tòa nhà được gọi là có thể nhìn thấy (từ bên trái) nếu nó cao hơn tất cả các tòa nhà phía bên trái nó trong phạm vi xét. Xử lý q truy vấn: mỗi truy vấn cho hai số a,b — hỏi nếu chỉ có các tòa nhà từ a đến b, thì có bao nhiêu tòa nhà có thể nhìn thấy?

Dữ liệu vào

  • Dòng đầu: hai số nguyên nq.
  • Dòng thứ hai: n số nguyên h1,h2,,hn là chiều cao các tòa nhà.
  • q dòng tiếp theo: mỗi dòng chứa hai số ab.

Dữ liệu ra

Với mỗi truy vấn, in ra số tòa nhà có thể nhìn thấy trong đoạn [a,b].

Ràng buộc

  • 1n105
  • 1q2×105
  • 1hi109
  • 1abn

Ví dụ

Input Output Giải thích
5 3
4 1 2 2 3
1 5
2 5
3 4
1
3
1
Đoạn [1,5]: chỉ tòa 1 (cao nhất, không có gì bên trái). Đoạn [2,5] = [1,2,2,3]: tòa 2 (h=1 đầu tiên), tòa 3 (h=2 > 1), tòa 5 (h=3 > 2). Đoạn [3,4] = [2,2]: chỉ tòa 3 (h=2 đầu tiên).

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0