# 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()
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 10/10 | ||||||
| 1 | Elfogadva | 41ms | 19648 KiB | ||||
| 2 | Elfogadva | 46ms | 19684 KiB | ||||
| subtask2 | 20/20 | ||||||
| 1 | Elfogadva | 85ms | 22144 KiB | ||||
| 2 | Elfogadva | 75ms | 22244 KiB | ||||
| 3 | Elfogadva | 86ms | 21996 KiB | ||||
| 4 | Elfogadva | 108ms | 22348 KiB | ||||
| subtask3 | 0/70 | ||||||
| 1 | Elfogadva | 252ms | 23948 KiB | ||||
| 2 | Elfogadva | 266ms | 24764 KiB | ||||
| 3 | Elfogadva | 611ms | 32676 KiB | ||||
| 4 | Elfogadva | 737ms | 38488 KiB | ||||
| 5 | Futási hiba | 1.139s | 65536 KiB | ||||
| 6 | Futási hiba | 1.225s | 65536 KiB | ||||
| 7 | Futási hiba | 1.222s | 65536 KiB | ||||
| 8 | Futási hiba | 754ms | 65536 KiB | ||||
| 9 | Futási hiba | 912ms | 65536 KiB | ||||
| 10 | Futási hiba | 945ms | 65536 KiB | ||||
| 11 | Futási hiba | 700ms | 65536 KiB | ||||
| 12 | Futási hiba | 985ms | 65536 KiB | ||||
| 13 | Futási hiba | 1.006s | 65536 KiB | ||||
| 14 | Futási hiba | 859ms | 65536 KiB | ||||