公式

A - 階段の水流 / Waterflow on Stairs 解説 by sounansya


AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題 A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。


問題文の通りに順にシミュレーションすれば良いです。

\(N+1\) 個目の植木鉢を仮想的に導入することで場合分けを減らすことができます。

実装例(Python3)

n, q = map(int, input().split())
a = list(map(int, input().split())) + [0]
b = list(map(int, input().split()))
for v in list(map(int, input().split())):
    v -= 1
    a[v + 1] += max(a[v] - b[v], 0)
    a[v] = 0
print(*a[:-1])

投稿日時:
最終更新: