6816.Polynomial Queries

Time Limit: 1s Memory Limit: 512MB

Your task is to maintain an array of $n$ values and efficiently process the following types of queries:

Increase the first value in range[a,b]by1, the second value by2, the third value by3, and so on.Calculate the sum of values in range[a,b].

Input Format(From the terminal/stdin)

The first input line has two integers $n$ and $q$ : the size of the array and the number of queries.

The next line has $n$ values $t_1,t_2,\dots,t_n$ : the initial contents of the array.

Finally, there are $q$ lines describing the queries. The format of each line is either "1 $a$ $b$ " or "2 $a$ $b$ ".

  • $1 \le n, q \le 2 \cdot 10^5$
  • $1 \le t_i \le 10^6$
  • $1 \le a \le b \le n$

Output Format(To the terminal/stdout)

Print the answer to each sum query.

Sample Input

Copy
5 3
4 2 3 1 7
2 1 5
1 1 5
2 1 5
 · \n
 · · · · \n
 · · \n
 · · \n
 · · \n

Sample Output

Copy
17
32
  \n
  \n
Source: CSES, Range Queries, 1736

Submit

请先 登录

© 2025 FAQs