A - フェーン現象 (Foehn Phenomena)
各地形変動が別々の事象だと誤読.地形を保存する方法が思いつかず終了. 場合分けでバグったせいで,inf時間かかった.参考にした提出
from sys import stdin input = stdin.readline n, q, s, t = map(int, input().strip().split()) ele = [int(input().strip()) for _ in range(n + 1)] query = [list(map(int, input().strip().split())) for _ in range(q)] diff = [ele[i + 1] - ele[i] for i in range(n)] tmp = 0 for i in range(n): if diff[i] > 0: tmp -= s * diff[i] else: tmp -= t * diff[i] for i in range(q): if diff[query[i][0] - 1] > 0: tmp += diff[query[i][0] - 1] * s else: tmp += diff[query[i][0] - 1] * t diff[query[i][0] - 1] += query[i][2] if diff[query[i][0] - 1] > 0: tmp -= diff[query[i][0] - 1] * s else: tmp -= diff[query[i][0] - 1] * t if query[i][1] < n: if diff[query[i][1]] > 0: tmp += diff[query[i][1]] * s else: tmp += diff[query[i][1]] * t diff[query[i][1]] -= query[i][2] if diff[query[i][1]] > 0: tmp -= diff[query[i][1]] * s else: tmp -= diff[query[i][1]] * t print(tmp)
できたこと
- 標高差に注目する