計算總和
Submit solution
Points:
100
Time limit:
1.0s
Memory limit:
64M
Author:
Problem types
Allowed languages
C, C++, Java, Python
題目敘述
有大小為 \(n\) 的陣列 \(A\) 及 \(q\) 筆操作,每筆操作會將陣列的第 \(x\) 項的數值改成 \(a\),而在每次操作完後要輸出 \(A_1+A_2+\dots+A_n\) 的值 (即陣列每一項之總和)。
輸入說明
第一行輸入兩個正整數 \(n,q\) \((1 \leq n, q \leq 10^5)\),為數字數量及操作次數。</p>
第二行有 \(n\) 個正整數 \(A_1, A_2, \dots, A_n\) \((1 \leq A_i \leq 10^9)\),為陣列A中各項的值。
接下來 \(q\) 行有兩個正整數 \(x, a\) \((1 \leq x \leq n,1 \leq a \leq 10^9)\),為每次操作要改的陣列項數及要改成的值。
輸出說明
輸出有 \(q\) 行,每次操作後 \(A_1+A_2+\dots+A_n\) 的值。
範例測資
範例輸入 1
3 3
1 1 1
1 5
3 9
1 4
範例輸出 1
7
15
14
範例輸入 2
3 3
1 1 1
1 1000000000
2 1000000000
3 1000000000
範例輸出 2
1000000002
2000000001
3000000000
提示
- 範例測資 : \(0\%\)
- \(1 \leq n,q \leq 10^3\) : \(50\%\)
- 無額外限制 : \(50\%\)
有沒有方法可以不用每次操作完就重算一次 \(A_1 + A_2 + \dots + A_n\) 的值?
Comments