Cập nhật hình chữ nhật

Đề bài

Mô tả

Cho ma trận A kích thước n×m, các phần tử được đánh chỉ số từ 1. Ban đầu mọi phần tử A[i][j]=0.

Bạn cần thực hiện q thao tác cập nhật hình chữ nhật. Mỗi thao tác có 5 số nguyên (r1,c1,r2,c2,v) với r1≤r2 và c1≤c2, mang ý nghĩa: cộng v vào tất cả các phần tử A[i][j] thỏa r1≤i≤r2 và c1≤j≤c2.

Sau khi đã thực hiện hết q thao tác cập nhật, bạn nhận thêm k truy vấn điểm: mỗi truy vấn là cặp (r,c) — hãy in ra giá trị A[r][c].

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên n,m,q.
  • q dòng tiếp theo, mỗi dòng chứa năm số nguyên r1,c1,r2,c2,v mô tả một thao tác cập nhật.
  • Dòng tiếp theo chứa số nguyên k — số truy vấn điểm.
  • k dòng tiếp theo, mỗi dòng chứa hai số nguyên r,c mô tả một truy vấn.

Dữ liệu ra

In ra k dòng, dòng thứ i là giá trị A[ri][ci] sau khi đã áp dụng hết q thao tác cập nhật.

Ràng buộc

  • 1≤n,m≤103
  • 1≤q≤2·105
  • 1≤k≤105
  • 1≤r1≤r2≤n, 1≤c1≤c2≤m
  • −109≤v≤109
  • 1≤r≤n, 1≤c≤m
  • Đáp án nằm trong phạm vi kiểu số nguyên 64-bit.

Ví dụ

Input Output Giải thích
3 3 2
1 1 2 2 5
2 2 3 3 3
4
1 1
2 2
3 3
1 3
5
8
3
0
Sau thao tác 1, hình chữ nhật [1..2]×[1..2] được cộng 5. Sau thao tác 2, hình chữ nhật [2..3]×[2..3] được cộng 3. Vậy A[1][1]=5, A[2][2]=5+3=8, A[3][3]=3, A[1][3]=0.
2 4 3
1 1 2 4 1
1 2 1 3 10
2 1 2 1 -5
3
1 2
2 1
2 4
11
-4
1
Cập nhật 1 cộng 1 vào toàn ma trận. Cập nhật 2 cộng 10 vào A[1][2] và A[1][3]. Cập nhật 3 trừ 5 khỏi A[2][1].

Ghi chú

Giá trị tuyệt đối tổng cộng có thể vượt phạm vi int 32-bit, hãy dùng kiểu số nguyên 64-bit cho mảng kết quả.

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