172762025-06-09 19:56:04algoproGamepypy3Runtime error 30/1001.212s65536 KiB
# UUID: b1479a4f-1047-46d9-ba35-fa205299256f
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())
    vali = tuple(map(int, input().split()))
    a = []
    for i in range(1, n + 1):
        a.append((vali[i-1], i))
    
    a.sort(reverse=True)
    vali = tuple(map(int, input().split()))
    for ii in range(q):
        pnt = x = vali[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
1Accepted39ms19436 KiB
2Accepted48ms19692 KiB
subtask220/20
1Accepted78ms22276 KiB
2Accepted79ms22136 KiB
3Accepted81ms22088 KiB
4Accepted108ms22244 KiB
subtask30/70
1Accepted263ms24276 KiB
2Accepted248ms24808 KiB
3Accepted583ms33508 KiB
4Accepted726ms38260 KiB
5Runtime error1.105s65536 KiB
6Runtime error1.212s65536 KiB
7Runtime error1.126s65536 KiB
8Runtime error765ms65536 KiB
9Runtime error867ms65536 KiB
10Runtime error916ms65536 KiB
11Runtime error699ms65536 KiB
12Runtime error912ms65536 KiB
13Runtime error989ms65536 KiB
14Runtime error890ms65536 KiB