Submission #551501

#TimeUsernameProblemLanguageResultExecution timeMemory
551501beaconmcFoehn Phenomena (JOI17_foehn_phenomena)Cpython 3
30 / 100
1087 ms65172 KiB
n,q,s,t = map(int, input().split())

alts = []

def calc(x):
    if x>0:
        x = abs(x)
        return -1*s*x
    elif x<=0:
        x = abs(x)
        return t*x

for i in range(n+1):
    alts.append(int(input()))

queries = []

for i in range(q):
    queries.append(list(map(int, input().split())))

diff = []

for i in range(n):
    diff.append(alts[i+1]-alts[i])


ans = 0
for i in diff:
    ans += calc(i)

for i in queries:
    i[0] -= 1
    a=calc(diff[i[0]])
    if i[1] != n:
        b = calc(diff[i[1]])
    diff[i[0]] += i[2]
    if i[1]!=n:
        diff[i[1]] -= i[2]


    ans += calc(diff[i[0]])-a
    if i[1] != n:
        ans += calc(diff[i[1]])-b
    print(ans)


    
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...