Tổng đoạn con 2D

Xem PDF

Nộp bài


Điểm: 10 (thành phần)
Thời gian: 0.4s
Bộ nhớ: 256M

Tác giả:
Dạng bài

Trên mặt phẳng tọa độ Descartes (Cartesian coordinate system), xét các điểm nguyên có tọa độ \((x,\ y)\) với \(x,\ y\) là số nguyên và \(0\leq x,\ y\leq1000\). Gán giá trị ban đầu của tất cả các điểm kể trên bằng \(0\).

Cho \(n\) phép biến đổi, mỗi phép có dạng \((x_1,\ y_1,\ x_2,\ y_2)\): Tăng giá trị của mỗi điểm nguyên nằm trong hình chữ nhật có tọa độ hai góc đối nhau \((x_1,\ y_1)\) và \((x_2,\ y_2)\) \((x_1\leq x_2,\ y_1\leq y_2)\) lên \(1\) đơn vị (các điểm nằm trên cạnh của hình chữ nhật vẫn được tính là nằm trong hình chữ nhật đó).

Cho \(q\) truy vấn, mỗi truy vấn có dạng \((x_1,\ y_1,\ x_2,\ y_2)\): Tính và in ra tổng giá trị của tất cả các điểm nguyên nằm trong hình chữ nhật có tọa độ hai góc đối nhau \((x_1,\ y_1)\) và \((x_2,\ y_2)\) \((x_1\leq x_2,\ y_1\leq y_2)\).

Input

  • Dòng đầu tiên chứa số nguyên dương \(n\) - số phép biến đổi;
  • Tiếp theo là \(n\) dòng, mỗi dòng gồm bốn số nguyên không âm theo thứ tự là \(x_1,\ y_1,\ x_2,\ y_2\) ghi cách nhau bởi dấu cách - thể hiện cho một phép biến đổi;
  • Dòng tiếp theo chứa số nguyên dương \(q\) - số truy vấn;
  • Cuối cùng là \(q\) dòng, mỗi dòng gồm bốn số nguyên không âm theo thứ tự là \(x_1,\ y_1,\ x_2,\ y_2\) ghi cách nhau bởi dấu cách - thể hiện cho một truy vấn.

Output

  • In ra \(q\) dòng, mỗi dòng trả lời cho một truy vấn.

Ví dụ

Sample input
3
0 0 2 3
1 2 3 4
2 3 2 5
3
1 2 1 5
2 4 3 6
1 3 1000 1000
Sample output
5
4
11

Ràng buộc

  • \(0\leq x_1\leq x_2\leq1000,\ 0\leq y_1\leq y_2\leq1000\);
  • Subtask 1 (50%): \(n,\ q\leq50\);
  • Subtask 2 (50%): \(n,\ q\leq10^5\).