CF390E.Inna and Large Sweet Matrix
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Inna loves sweets very much. That's why she wants to play the "Sweet Matrix" game with Dima and Sereja. But Sereja is a large person, so the game proved small for him. Sereja suggested playing the "Large Sweet Matrix" game.
The "Large Sweet Matrix" playing field is an n×m matrix. Let's number the rows of the matrix from 1 to n , and the columns — from 1 to m . Let's denote the cell in the i -th row and j -th column as (i,j) . Each cell of the matrix can contain multiple candies, initially all cells are empty. The game goes in w moves, during each move one of the two following events occurs:
- Sereja chooses five integers x1,y1,x2,y2,v (x1<=x2,y1<=y2) and adds v candies to each matrix cell (i,j) (x1<=i<=x2; y1<=j<=y2) .
- Sereja chooses four integers x1,y1,x2,y2 (x1<=x2,y1<=y2) . Then he asks Dima to calculate the total number of candies in cells (i,j) (x1<=i<=x2; y1<=j<=y2) and he asks Inna to calculate the total number of candies in the cells of matrix (p,q) , which meet the following logical criteria: ( p<x_{1} OR p>x_{2} ) AND ( q<y_{1} OR q>y_{2} ). Finally, Sereja asks to write down the difference between the number Dima has calculated and the number Inna has calculated (D - I).
Unfortunately, Sereja's matrix is really huge. That's why Inna and Dima aren't coping with the calculating. Help them!
输入格式
The first line of the input contains three integers n , m and w (3<=n,m<=4⋅106; 1<=w<=105) .
The next w lines describe the moves that were made in the game.
- A line that describes an event of the first type contains 6 integers: 0 , x1 , y1 , x2 , y2 and v (1<=x1<=x2<=n; 1<=y1<=y2<=m; 1<=v<=109) .
- A line that describes an event of the second type contains 5 integers: 1 , x1 , y1 , x2 , y2 (2<=x1<=x2<=n−1; 2<=y1<=y2<=m−1) .
It is guaranteed that the second type move occurs at least once. It is guaranteed that a single operation will not add more than 109 candies.
Be careful, the constraints are very large, so please use optimal data structures. Max-tests will be in pretests.
输出格式
For each second type move print a single integer on a single line — the difference between Dima and Inna's numbers.
输入输出样例
输入#1
4 5 5 0 1 1 2 3 2 0 2 2 3 3 3 0 1 5 4 5 1 1 2 3 3 4 1 3 4 3 4
输出#1
2 -21
说明/提示
Note to the sample. After the first query the matrix looks as:
<br></br>22200<br></br>22200 <br></br>00000<br></br>00000<br></br>
After the second one it is:
<br></br>22200<br></br>25500<br></br>03300 <br></br>00000<br></br>
After the third one it is:
<br></br>22201<br></br>25501<br></br>03301<br></br>00001<br></br>
For the fourth query, Dima's sum equals 5 + 0 + 3 + 0 = 8 and Inna's sum equals 4 + 1 + 0 + 1 = 6. The answer to the query equals 8 - 6 = 2. For the fifth query, Dima's sum equals 0 and Inna's sum equals 18 + 2 + 0 + 1 = 21. The answer to the query is 0 - 21 = -21.