Submission details
Task:Leimasin
Sender:Metabolix
Submission time:2025-09-26 20:03:12 +0300
Language:Python3 (CPython3)
Status:READY
Result:76
Feedback
groupverdictscore
#1ACCEPTED33
#2ACCEPTED43
#30
Test results
testverdicttimegroup
#1ACCEPTED0.02 s1, 2, 3details
#2ACCEPTED0.02 s1, 2, 3details
#3ACCEPTED0.02 s1, 2, 3details
#4ACCEPTED0.02 s1, 2, 3details
#5ACCEPTED0.04 s2, 3details
#6ACCEPTED0.04 s2, 3details
#7ACCEPTED0.07 s2, 3details
#8ACCEPTED0.05 s2, 3details
#9--3details
#10--3details
#11--3details
#12--3details
#13--3details
#14ACCEPTED0.75 s3details

Code

import heapq

# Lukee rivin syötettä ja palauttaa sen sisältämät luvut listana.
def read_numbers():
    return list(map(int, input().strip().split()))

def read_string():
    return input().strip()

def main():
    # lue luvut n m k
    nmk = read_numbers()
    tuloksen_koko = nmk[0]
    leiman_koko = nmk[1]
    leimasin = read_string().encode()
    leimaukset = read_numbers()
    leimaukset_tulossa = sorted((-kohta, prioriteetti) for prioriteetti, kohta in enumerate(leimaukset))

    leimaukset_voimassa = []
    taulu = bytearray(b'.' * tuloksen_koko)
    for tulos_i in range(1, tuloksen_koko + 1):
        # Siirrä leimaukset, jotka alkavat nyt, voimassaoleviin
        while leimaukset_tulossa and leimaukset_tulossa[-1][0] == -tulos_i:
            kohta, prioriteetti = leimaukset_tulossa.pop()
            heapq.heappush(leimaukset_voimassa, (-prioriteetti, -kohta))
        # Poista vanhentuneet leimaukset
        while leimaukset_voimassa and leimaukset_voimassa[0][1] + leiman_koko <= tulos_i:
            heapq.heappop(leimaukset_voimassa)
        # Jos voimassaoleva leimaus, käytä sitä
        if leimaukset_voimassa:
            taulu[tulos_i - 1] = leimasin[tulos_i - leimaukset_voimassa[0][1]]
    print(taulu.decode())

if __name__ == "__main__":
    main()

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
1000 1 100
a
585 600 750 170 794 845 341 39...

correct output
............a....aa..............

user output
............a....aa..............

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
1000 4 100
zhrb
795 569 744 662 315 869 913 21...

correct output
.........................zhrb....

user output
.........................zhrb....

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
1000 100 100
wkmtgzytnfwptwukbartgunjyrkyml...

correct output
wkmtgzywkmtgzytnfwptwukbartgun...

user output
wkmtgzywkmtgzytnfwptwukbartgun...

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
1000 1000 100
njplbyvkaytbcyzbylzntnmpfapvfg...

correct output
njplbyvkaytbcyzbylzntnmpfapvfg...

user output
njplbyvkaytbcyzbylzntnmpfapvfg...

Test 5

Group: 2, 3

Verdict: ACCEPTED

input
100000 1 1000
a
61541 4948 46214 29629 8779 76...

correct output
.................................

user output
.................................

Test 6

Group: 2, 3

Verdict: ACCEPTED

input
100000 10 1000
ntsconpqnv
17118 69319 2115 8873 892 9994...

correct output
.....................ntsconpqn...

user output
.....................ntsconpqn...

Test 7

Group: 2, 3

Verdict: ACCEPTED

input
100000 10000 1000
wcyeepjmmvavmoncfxclqrsebjzwbf...

correct output
.................................

user output
.................................

Test 8

Group: 2, 3

Verdict: ACCEPTED

input
100000 100000 1000
chdcxwwznawllrxcxlckeziomcsjhc...

correct output
chdcxwwznawllrxcxlckeziomcsjhc...

user output
chdcxwwznawllrxcxlckeziomcsjhc...

Test 9

Group: 3

Verdict:

input
1000000 1 500000
a
406018 635983 429225 943593 90...

correct output
.a...aa.....a.aaaa.a.aaa..aa.a...

user output
(empty)

Test 10

Group: 3

Verdict:

input
1000000 10 500000
frvhrhlrxi
85148 459715 677814 98302 4081...

correct output
frvhfrvhrhlrxihrhlrxifrvhrfrvf...

user output
(empty)

Test 11

Group: 3

Verdict:

input
1000000 1000 500000
hklmkntjqgilackgurwlerwvvfjwwr...

correct output
.hklhklmkntjqgilackgurwlerwvvf...

user output
(empty)

Test 12

Group: 3

Verdict:

input
1000000 10000 500000
yxajftmelgwiofcugtrvcltdemhyuu...

correct output
yxajftyxayxajftmelgwiofcugtrvc...

user output
(empty)

Test 13

Group: 3

Verdict:

input
1000000 100000 500000
yyzteckvutdnprlklyxgenyqpznght...

correct output
.yyyyzteckvutdnpryyzteckvutdnp...

user output
(empty)

Test 14

Group: 3

Verdict: ACCEPTED

input
1000000 1000000 500000
hhgvveiosloznsihxtccfjbizayyhl...

correct output
hhgvveiosloznsihxtccfjbizayyhl...

user output
hhgvveiosloznsihxtccfjbizayyhl...