172742025-06-09 19:51:48algoproGamepypy3Runtime error 30/1001.217s65536 KiB
# UUID: 6132f798-d277-48f9-a497-c3debe0e786c
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)

    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

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

main()

SubtaskSumTestVerdictTimeMemory
subtask110/10
1Accepted41ms19608 KiB
2Accepted48ms19716 KiB
subtask220/20
1Accepted86ms22148 KiB
2Accepted82ms22024 KiB
3Accepted90ms22124 KiB
4Accepted112ms22548 KiB
subtask30/70
1Accepted254ms24032 KiB
2Accepted264ms24904 KiB
3Accepted605ms33000 KiB
4Accepted753ms38320 KiB
5Runtime error1.159s65536 KiB
6Runtime error1.169s65536 KiB
7Runtime error1.217s65536 KiB
8Runtime error861ms65536 KiB
9Runtime error862ms65536 KiB
10Runtime error1.021s65536 KiB
11Runtime error695ms65536 KiB
12Runtime error970ms65536 KiB
13Runtime error964ms65536 KiB
14Runtime error836ms65536 KiB