TopCoder

User's AC Ratio

100.0% (5/5)

Submission's AC Ratio

85.7% (6/7)

Tags

Description

查理這陣子在進行某項研究。這項研究會需要進行若干次次實驗,每次實驗會得到一個分數,代表該次實驗的結果。查理一共做了 $N$ 次實驗,第 $i$ 次實驗的分數為 $a_i$。

查理接下來要開始分析他所得到的數據,分析的過程會需要計算某些區間的變異數。更明確的說,有 $Q$ 組 $(l_i,r_i)$,對於每一組 $(l_i,r_i)$,查理需要算出 $a_{l_i},a_{l_i+1},\ldots,a_{r_i}$ 的變異數。

查理不知道該如何快速的算出這 $Q$ 個變異數,於是他來尋求你的協助。請你幫助查理算出他需要的 $Q$ 個變異數。

$K$ 個實數 $x_1,x_2,\ldots,x_K$ 的變異數為 $\frac{1}{K}\sum\limits_{i=1}^ K(x_i-\bar{x})^ 2$,其中 $\bar{x}=\frac{1}{K}\sum\limits_{i=1}^ K x_i$。

Input Format

第一行輸入兩個整數 $N,Q$。

第二行輸入 $N$ 個整數 $a_1,a_2,\ldots,a_N$。

接下來輸入 $Q$ 行,其中第 $i$ 行輸入兩個整數 $l_i,r_i$。

  • $1\leq N,Q\leq 2\times 10^ 5$
  • $-10^ 6 \leq a_i\leq 10^ 6$
  • $1\leq l_i\leq r_i\leq N$

Output Format

輸出 $Q$ 行,第 $i$ 行輸出一個整數,代表 $(r_i-l_i+1)^ 2\cdot V_i$,其中 $V_i$ 為 $a_{l_i},a_{l_i+1},\ldots,a_{r_i}$ 的變異數。

可以證明 $(r_i-l_i+1)^ 2\cdot V_i$ 在給定的條件下一定會是整數。

Sample Input 1

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

Sample Output 1

24
0
50

Sample Input 2

6 3
-49 49 49 -49 100 -100
1 6
2 3
4 6

Sample Output 2

177624
0
64802

Hints

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資 0
2 0~11 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 2
1 1000 524288 65536 1 2
2 1000 524288 65536 2
3 1000 524288 65536 2
4 1000 524288 65536 2
5 1000 524288 65536 2
6 1000 524288 65536 2
7 1000 524288 65536 2
8 1000 524288 65536 2
9 1000 524288 65536 2
10 1000 524288 65536 2
11 1000 524288 65536 2