10571: Сума на паралелепіпеді


Відправити розв'язок

Бали: 100 (partial)
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

Заданий тривимірний масив з \(N\) поверхів, \(M\) рядків та \(K\) стовпчиків.
Вам потрібно ефективно відповідати на запити \(F1\) \(R1\) \(C1\) \(F2\) \(R2\) \(C2\) - що означає порахувати суму всіх чисел поверхи яких лежать на відрізку \([F1..F2]\), рядки на відрізку \([R1..R2]\), стовпчики на відрізку \([C1..C2]\).

Формат вхідних даних

В першому рядку задані три цілих числа \(N\), \(M\), \(K\) - розміри масиву (\(1 \le N,M,K \le 100\))
Далі йде \(N\) блоків, по \(M\) рядків, в кожному з яких \(K\) цілих чисел \(Aijt\) - значення елементів масиву (\(1 \le Aijt \le 1000\)).
Блоки розділені пустим рядком

В наступному рядку ціле число \(Q\) - кількість запитів. (\(1 \le Q \le 10^6\))
В кожному з наступних \(Q\) рядків міститься шість чисел \(F1,R1,C1,F2,R2,C2\) що позначаюють запит (\(1 \le F1 \le F2 \le N\) , \(1 \le R1 \le R2 \le M\) , \(1 \le C1 \le C2 \le K\))

Формат вихідних даних

Для кожного запиту в окремому рядку виведіть відповідь

Приклад вхідних даних

2 3 5
1 2 3 4 5
5 4 3 2 1
2 3 1 5 4

1 2 3 4 5
5 4 3 2 1
2 3 1 5 4
5
1 1 1 1 2 2
1 1 1 2 2 2
1 2 3 2 3 4
1 3 4 2 3 5
1 2 4 2 2 5

Приклад вихідних даних

12
24
22
18
6

Коментарі

Ще немає коментарів.