Official

A - センサーデータの修復 / Sensor Data Restoration Editorial by harurun4635


配列 \(V\) を適切につくることができればよいです。

これは \(V = A\) としたあと、\(0 \le i \lt K\)について \(V_{B_i} \gets C_{B_i}\) とすればよいです。

適切に実装すれば \(O(N)\) です。


実装例

n, k = map(int, input().split())
v = list(map(int, input().split()))
b = list(map(int, input().split()))
c = list(map(int, input().split()))

for i in range(k):
    v[b[i]-1] = c[i]

ans = 0
for i in range(n - 1):
    ans += abs(v[i] - v[i+1])

print(ans)

posted:
last update: