# O(NlogN?) moho
from sys import stdin, stdout
input=stdin.readline
from math import gcd
def solv():
N,K = [int(x) for x in input().split()]
maxi = [int(x) for x in input().split()]
szerep = [int(x)-1 for x in input().split()]
sir = [(int(x),index) for index,x in enumerate(input().split())]
sir.sort(reverse=True)
#print(sir)
szerep_set=set(szerep)
not_choosen=set()
for i in range(1,K):
if i not in szerep_set:
not_choosen.add(i)
#print(not_choosen)
res=0
lista=[0]*N
done=set()
sirnifog=[]
for i in range(len(sir)):
#print(sir[i],lista,len(done),len(not_choosen),len(sirnifog))
s,index=sir[i]
#if len(done)+len(not_choosen)+len(sirnifog)==N and len(not_choosen)>len(sirnifog):
if K-len(done)-len(sirnifog)==N-i:
x=not_choosen.pop()
lista[index]=x
done.add(index)
res+=s
elif maxi[szerep[index]]>0:
maxi[szerep[index]]-=1
lista[index]=szerep[index]
done.add(index)
else:
sirnifog.append(index)
res+=s
index=0
while sirnifog:
x=sirnifog.pop()
if not_choosen:
y=not_choosen.pop()
maxi[y]-=1
lista[x]=y
else:
while maxi[index]==0:
index+=1
maxi[index]-=1
lista[x]=index
print(res)
print(*[x+1 for x in lista])
return
solv()
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 28/50 | ||||||
1 | Elfogadva | 0/0 | 18ms | 11476 KiB | |||
2 | Elfogadva | 0/0 | 32ms | 15588 KiB | |||
3 | Elfogadva | 2/2 | 18ms | 12000 KiB | |||
4 | Elfogadva | 2/2 | 18ms | 12168 KiB | |||
5 | Elfogadva | 2/2 | 17ms | 12172 KiB | |||
6 | Elfogadva | 2/2 | 17ms | 12328 KiB | |||
7 | Hibás válasz | 0/2 | 17ms | 12188 KiB | |||
8 | Elfogadva | 2/2 | 17ms | 12556 KiB | |||
9 | Futási hiba | 0/2 | 17ms | 12724 KiB | |||
10 | Elfogadva | 2/2 | 17ms | 12584 KiB | |||
11 | Elfogadva | 2/2 | 17ms | 12976 KiB | |||
12 | Elfogadva | 2/2 | 17ms | 12928 KiB | |||
13 | Hibás válasz | 0/2 | 19ms | 13904 KiB | |||
14 | Elfogadva | 3/3 | 19ms | 13440 KiB | |||
15 | Hibás válasz | 0/3 | 54ms | 21852 KiB | |||
16 | Hibás válasz | 0/3 | 98ms | 31208 KiB | |||
17 | Elfogadva | 3/3 | 149ms | 42424 KiB | |||
18 | Hibás válasz | 0/3 | 224ms | 55936 KiB | |||
19 | Elfogadva | 3/3 | 300ms | 63164 KiB | |||
20 | Elfogadva | 3/3 | 319ms | 56440 KiB | |||
21 | Futási hiba | 0/3 | 273ms | 67420 KiB | |||
22 | Futási hiba | 0/4 | 217ms | 67412 KiB |