競プロキャンプ2023関西
コンテスト日時
2023/08/20 (Su) 09:00 - 11:00

B - そのまま総和、そうはさせない

Assam
2
s
1024
MB
100

問題文

$N$ 個の整数 $A_1, A_2, \dots, A_N$ が与えられるので、この総和を求めてください。ただし、 $A$ のうち $K$ 個は符号を反転させなければいけません。
反転させる数字の位置は決まっており、前から数えた時の反転させる数字の位置が $B_1, B_2, \dots, B_K$ で与えられます。

制約

  • $1 \leq N \leq 100$
  • $0 \leq K \leq N$
  • $-10^3 \leq A_i \leq 10^3$
  • $1 \leq B_i \leq N$
  • $B_i$ の値は重複しない
  • 入力はすべて整数

入力

入力は標準入力から以下の形式で与えられる。

$N$ $K$
$A_1$ $A_2$ $\dots$ $A_N$
$B_1$ $B_2$ $\dots$ $B_K$

出力

$B$ の示す位置の符号を反転した $A$ の総和

入力例 1
5 3 1 2 3 4 5 1 3 5
出力例 1
-3

$B$ の入力で $1,3,5$ 番目の符号が反転することがわかります。
それぞれ符号を反転させると $-1,2,-3,4,-5$ となります。
これらの和を計算すると $-3$ となり、これが出力するべき答えです。

入力例 2
1 0 820
出力例 2
820

$K$ が $0$ だったとき、$B$ の入力は何もないことに気を付けてください。

提出
C++23 (g++ 12.2.0)