計算總和


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

There are no comments at the moment.