trang chủ / đề bài / qt_tst_22_e

Truy vấn trên bảng số

Đề bài

Mô tả

Ngọc có bảng số nguyên có kích thước M×N, các dòng được đánh số từ 1 đến M từ trên xuống dưới, các cột được đánh số từ 1 đến N từ trái sang phải, giá trị ô nằm trên giao của dòng i và cột j của bảng số gọi là ô aij (0≤aij≤2).

Mỗi truy vấn trên bảng số cho biết hai số nguyên p và q (1≤p≤q≤M), hãy tìm hình chữ nhật có diện tích lớn nhất gồm các ô nằm trong phạm vi từ dòng thứ p đến dòng thứ q của bảng số mà trong đó chênh lệch giữa phần tử lớn nhất và phần tử nhỏ nhất không vượt quá 1. Hình chữ nhật gồm các ô thuộc một đoạn dòng liên tiếp và một đoạn cột liên tiếp của bảng; diện tích là số ô của nó.

Yêu cầu: Cho K truy vấn, với mỗi truy vấn p,q hãy đưa ra diện tích hình chữ nhật tương ứng tìm được.

Dữ liệu vào

  • Dòng đầu tiên có hai số nguyên M,N (1≤M,N≤1000);
  • M dòng tiếp theo, dòng thứ i chứa N số nguyên ai1,ai2,…,aiN;
  • Dòng tiếp theo chứa số nguyên K (1≤K≤106);
  • K dòng tiếp theo chứa hai số nguyên pi và qi biểu diễn truy vấn thứ i (1≤pi≤qi≤M);
  • Các số trên cùng một dòng cách nhau bởi dấu cách.

Dữ liệu ra

Gồm K dòng, mỗi dòng ghi kết quả tương ứng với mỗi truy vấn.

Ràng buộc

  • 1≤M,N≤1000
  • 0≤aij≤2
  • 1≤K≤106
  • 1≤pi≤qi≤M

Subtasks

  • Subtask 1 (20% số điểm): N=1, M≤100, K≤100.
  • Subtask 2 (40% số điểm): M,N≤100.
  • Subtask 3 (40% số điểm): M,N≤1000, K≤106.

Ví dụ

Input Output Giải thích
3 3
0 1 1
1 1 2
2 2 2
3
1 1
1 2
1 3
3
4
6
Truy vấn 1: cả dòng 1 chỉ gồm giá trị 0,1, diện tích 3. Truy vấn 2: hình vuông 2×2 ở góc trái trên gồm 0,1,1,1. Truy vấn 3: dòng 2 và 3 chỉ gồm giá trị 1,2, diện tích 2×3=6.
6 1
0
1
2
2
1
0
4
1 6
1 2
3 6
6 6
4
2
3
1
Ví dụ thêm (không có trong đề gốc). Bảng chỉ có một cột. Truy vấn 1: các dòng 2..5 gồm 1,2,2,1. Truy vấn 3: các dòng 3..5 gồm 2,2,1 (không lấy được dòng 6 vì có cả 0 và 2).

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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0