Tổng khối con

Đề bài

Mô tả

Cho khối lập phương dữ liệu A kích thước X×Y×Z gồm các số nguyên. Các chỉ số được đánh từ 1 đến X theo trục thứ nhất, từ 1 đến Y theo trục thứ hai, và từ 1 đến Z theo trục thứ ba.

Bạn cần trả lời q truy vấn. Mỗi truy vấn cho sáu số nguyên x1,y1,z1,x2,y2,z2 với x1≤x2, y1≤y2, z1≤z2. Hãy tính tổng các phần tử A[i][j][k] với x1≤i≤x2, y1≤j≤y2, z1≤k≤z2.

Dữ liệu vào

  • Dòng đầu chứa bốn số nguyên X, Y, Z, q.
  • Tiếp theo là X khối, mỗi khối gồm Y dòng, mỗi dòng có Z số nguyên mô tả A[i][j][1],A[i][j][2],…,A[i][j][Z]. Các khối có thể được phân tách bởi dòng trắng tùy ý (không bắt buộc).
  • q dòng cuối, mỗi dòng chứa sáu số nguyên x1,y1,z1,x2,y2,z2 mô tả một truy vấn.

Dữ liệu ra

In ra q dòng, mỗi dòng là kết quả của truy vấn tương ứng.

Ràng buộc

  • 1≤X,Y,Z và X·Y·Z≤106
  • 1≤q≤2·105
  • −109≤A[i][j][k]≤109
  • 1≤x1≤x2≤X, 1≤y1≤y2≤Y, 1≤z1≤z2≤Z

Ví dụ

Input Output Giải thích
2 2 2 2
1 2
3 4
5 6
7 8
1 1 1 2 2 2
1 1 1 1 2 2
36
10
Khối có 8 phần tử: A[1][1][1..2]=1,2; A[1][2][1..2]=3,4; A[2][1][1..2]=5,6; A[2][2][1..2]=7,8. Truy vấn 1 lấy toàn bộ, tổng 1+2+3+4+5+6+7+8=36. Truy vấn 2 chỉ lớp i=1: 1+2+3+4=10.
1 3 3 3
-1 -2 -3
-4 -5 -6
-7 -8 -9
1 1 1 1 3 3
1 2 2 1 3 3
1 1 1 1 1 1
-45
-28
-1
Lớp duy nhất là ma trận 3×3 giá trị âm. Truy vấn 1 lấy toàn ma trận, tổng −45. Truy vấn 2 lấy vùng hàng 2..3, cột 2..3: −5−6−8−9=−28. Truy vấn 3 lấy đúng ô A[1][1][1]=−1.

Ghi chú

Kết quả có thể vượt phạm vi số nguyên 32-bit, hãy dùng kiểu 64-bit.

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