172732025-06-09 19:49:59algoproGamepypy3Runtime error 30/1001.225s65536 KiB
# UUID: c32c3a76-b9a8-40a2-92d0-719ecaa6ad1b
import sys
input = sys.stdin.readline


def upd(res, b, x):
    if b % 2 == 1:
        res[0] += x
    else:
        res[0] -= x

def main():
    n, q = map(int, input().split())
    val = list(map(int, input().split()))
    a = []
    for i in range(1, n + 1):
        a.append((val[i-1], i))
    
    a.sort(reverse=True)

    out = []
    Q = list(map(int, input().split()))
    for ii in range(q):
        pnt = x = Q[ii]
        res = [0]
        f = [False] * (n + 2)

        for i in range(n):
            val, pos = a[i]
            while pnt <= n and f[pnt]:
                pnt += 1
            if pnt > n:
                upd(res, i + 1, val)
            elif pos > pnt:
                upd(res, pos - x + 1, val)
                f[pos] = True
            else:
                upd(res, pnt - x + 1, val)
                f[pnt] = True

        out.append(str(res[0]))
    
    sys.stdout.write('\n'.join(out) + '\n')

main()

SubtaskSumTestVerdictTimeMemory
subtask110/10
1Accepted41ms19648 KiB
2Accepted46ms19684 KiB
subtask220/20
1Accepted85ms22144 KiB
2Accepted75ms22244 KiB
3Accepted86ms21996 KiB
4Accepted108ms22348 KiB
subtask30/70
1Accepted252ms23948 KiB
2Accepted266ms24764 KiB
3Accepted611ms32676 KiB
4Accepted737ms38488 KiB
5Runtime error1.139s65536 KiB
6Runtime error1.225s65536 KiB
7Runtime error1.222s65536 KiB
8Runtime error754ms65536 KiB
9Runtime error912ms65536 KiB
10Runtime error945ms65536 KiB
11Runtime error700ms65536 KiB
12Runtime error985ms65536 KiB
13Runtime error1.006s65536 KiB
14Runtime error859ms65536 KiB